select语句ORA-00933:SQL命令未正确结束
我尝试从数据库1执行上述查询。表1存在于DB2数据库中。它显示以下错误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
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标识符只能有架构和表名。不能将“数据库”作为标识符的一部分。标识符只能具有架构和表名。不能将“数据库”作为标识符的一部分。