select语句ORA-00933:SQL命令未正确结束

时间:2016-09-12 07:53:33

标签: sql oracle

SELECT tab1.column1 FROM DB2.Schema.table1 tab1; 

我尝试从数据库1执行上面的查询。表1存在于DB2数据库中。它显示以下错误。

ORA-00933: SQL command not properly ended
00933. 00000 -  "SQL command not properly ended"

2 个答案:

答案 0 :(得分:1)

无需在select声明中提及数据库名称。见下文:

SELECT tab1.column1 FROM Schema.table1 tab1; 

数据库链接使用:

CREATE DATABASE LINK sales.hq.acme.com
   CONNECT TO scott IDENTIFIED BY tiger
   USING 'sales';

创建此数据库链接后,您可以通过以下方式查询远程数据库上的模式SCOTT中的表:

SELECT *
   FROM emp@sales.hq.acme.com;

您还可以使用DML语句修改远程数据库上的数据:

INSERT INTO accounts@sales.hq.acme.com(acc_no, acc_name, balance)
   VALUES (5001, 'BOWER', 2000);

UPDATE accounts@sales.hq.acme.com
   SET balance = balance + 500;

DELETE FROM accounts@sales.hq.acme.com
   WHERE acc_name = 'BOWER';

您还可以访问同一数据库中其他用户拥有的表。该声明假定SCOTT可以访问ADAM的DEPT表:

SELECT *
   FROM adams.dept@sales.hq.acme.com;

前一个语句连接到远程数据库上的用户SCOTT,然后查询ADAM的DEPT表。

Note: Dblinks are used using '@' symbol.

答案 1 :(得分:0)

您不需要为数据库添加前缀。只需使用以下命令确保您使用正确的架构:

ALTER SESSION SET current_schema = schemaname;