我想在SQL开发人员中将一个表复制到另一个数据库服务器。我用这种方法来解决这个问题。
INSERT INTO mahdi-jiradb..empier SELECT * FROM tamindb..users;
但是我得到一个错误:
Error starting at line : 8 in command -
INSERT INTO mahdi-jiradb..empier
SELECT * FROM tamindb..users
Error at Command Line : 8 Column : 18
Error report -
SQL Error: ORA-00926: missing VALUES keyword
00926. 00000 - "missing VALUES keyword"
*Cause:
*Action:
我该怎么办?
正如您所评论的,看起来就像是在使用Oracle。
在这种情况下,模式名称不能包含";减去";签名(mahdi-jiradb(,所以这可能是下划线(mahdi_jiradb。
SQL> create user mahdi-jiradb identified by test;
create user mahdi-jiradb identified by test
*
ERROR at line 1:
ORA-00922: missing or invalid option
当然,除非您将用户名用双引号括起来(但现在您必须始终、处处使用它(:
SQL> create user "mahdi-jiradb" identified by test;
User created.
假设情况并非如此,则模式名称是错误的。检查一下。
另外,使用一个点将模式名称与表名称分隔开。
类似的东西可能有效:
INSERT INTO mahdi_jiradb.empier SELECT * FROM tamindb.users;
假定两个表共享相同的描述。这就是为什么最好显式命名所有涉及的列,例如
INSERT INTO mahdi_jiradb.empier (user_id, user_name)
SELECT uid, uname FROM tamindb.users;