Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
select语句ORA-00933:SQL命令未正确结束_Sql_Oracle - Fatal编程技术网

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

select语句ORA-00933:SQL命令未正确结束,sql,oracle,Sql,Oracle,我尝试从数据库1执行上述查询。表1存在于DB2数据库中。它显示以下错误 SELECT tab1.column1 FROM DB2.Schema.table1 tab1; 无需在selectstation中提及数据库名称。见下文: ORA-00933: SQL command not properly ended 00933. 00000 - "SQL command not properly ended" 数据库链接使用情况: SELECT tab1.column1 FROM Schem

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

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

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

ORA-00933: SQL command not properly ended
00933. 00000 -  "SQL command not properly ended"
数据库链接使用情况:

SELECT tab1.column1 FROM Schema.table1 tab1; 
创建此数据库链接后,可以通过以下方式在远程数据库上查询模式SCOTT中的表:

CREATE DATABASE LINK sales.hq.acme.com
   CONNECT TO scott IDENTIFIED BY tiger
   USING 'sales';
您还可以使用DML语句修改远程数据库上的数据:

SELECT *
   FROM emp@sales.hq.acme.com;
您还可以访问同一数据库中其他用户拥有的表。此语句假设SCOTT有权访问ADAM的DEPT表:

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;

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

ORA-00933: SQL command not properly ended
00933. 00000 -  "SQL command not properly ended"
数据库链接使用情况:

SELECT tab1.column1 FROM Schema.table1 tab1; 
创建此数据库链接后,可以通过以下方式在远程数据库上查询模式SCOTT中的表:

CREATE DATABASE LINK sales.hq.acme.com
   CONNECT TO scott IDENTIFIED BY tiger
   USING 'sales';
您还可以使用DML语句修改远程数据库上的数据:

SELECT *
   FROM emp@sales.hq.acme.com;
您还可以访问同一数据库中其他用户拥有的表。此语句假设SCOTT有权访问ADAM的DEPT表:

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;

您不需要在db前面加前缀。只需使用以下命令确保您处于正确的架构中:

Note: Dblinks are used using '@' symbol.

您不需要在db前面加前缀。只需使用以下命令确保您处于正确的架构中:

Note: Dblinks are used using '@' symbol.

是的,但我还有一个数据库,它包含相同的模式和表名。那么我如何区分这两个表呢?在一个数据库中,您只能查询同一个数据库。对于其他数据库,您需要使用DB link或其他一些机制。。所以在这种情况下,在从表中进行选择时,您也不需要选择DB名称。而且您认为所有数据库都在同一台服务器上。我想不应该是这样。因此,在另一种情况下,您需要创建一个DB链接,连接到一个数据库并查询另一个数据库。Hi-XIng,所有数据库都在同一个服务器中。Hi-Pratik,如果DB1中有table1,DB2中有table1,DB3中有Table2。这里,DB1和DB2数据库表名和模式是相同的。现在我将从DB3数据库执行这个查询。从NOTIFY.tab1 nque internal JOIN mobile_app.tab2 upush ON upush.col1=nque.col1Yes中选择nque.col1、upush.col2、upush.col3,但我还有一个包含相同架构和相同表名的数据库。那么我如何区分这两个表呢?在一个数据库中,您只能查询同一个数据库。对于其他数据库,您需要使用DB link或其他一些机制。。所以在这种情况下,在从表中进行选择时,您也不需要选择DB名称。而且您认为所有数据库都在同一台服务器上。我想不应该是这样。因此,在另一种情况下,您需要创建一个DB链接,连接到一个数据库并查询另一个数据库。Hi-XIng,所有数据库都在同一个服务器中。Hi-Pratik,如果DB1中有table1,DB2中有table1,DB3中有Table2。这里,DB1和DB2数据库表名和模式是相同的。现在我将从DB3数据库执行这个查询。从NOTIFY.tab1 nque internal JOIN mobile_app.tab2 upush ON upush中选择nque.col1、upush.col2、upush.col3。col1=nque.col1标识符只能有架构和表名。不能将“数据库”作为标识符的一部分。标识符只能具有架构和表名。不能将“数据库”作为标识符的一部分。