我正在尝试将表格数据从开发框db复制到uat db,它们是2个不同的数据库。我正在尝试toad.All连接细节是正确的,但它不工作,并抛出以下错误。
[错误]执行(12:1):ORA-00900:无效的SQL语句
这就是我正在尝试的
copy from abc/cde@//abc.abc.com:1521/devbox to abc/cde@//abc.abc.com/uatbox
INSERT TOOL_SERVICE_MAPPING (*)
USING (SELECT * FROM TOOL_SERVICE_MAPPING)
答案 0 :(得分:6)
如果您的表没有大量行,您可以使用Toad的Export函数:它为每一行创建一个insert语句。然后,您可以在目标数据库中运行这些语句,以重新创建表的数据。
以下是步骤:
:一种。在目标数据库
中创建表的副本<强> B中。复制新表中的数据
答案 1 :(得分:4)
copy
是SQL * Plus命令,而不是SQL语句。如果Toad实现了特定的SQL * Plus命令(它确实实现了许多更简单的命令),我会感到惊讶。如果要使用copy
命令,则需要使用SQL * Plus,而不是Toad。
如果要使用Toad,则需要使用SQL语句来复制数据。您可以在目标数据库中创建指向源数据库的数据库链接,然后
INSERT INTO tool_service_mapping
SELECT *
FROM tool_service_mapping@<<db link to source database>>
答案 2 :(得分:1)
到目前为止,我所经历过的最简单,最无错误的方法是:数据库 - &gt;比较 - &gt;模式
它看起来并不太复杂(很多复选框),但是您需要在空数据库中为需要创建的对象选中框,并且在比较结束时最终会得到包含所有对象的SQL脚本(触发器,您选择的视图,序列,包装(复选框)。
我清楚地看到生成的sql脚本中的所有表,触发器,数据等,甚至可以勾选这些我不想创建的(如果有的话)...在执行脚本之前,TOAD要求你确认你在哪个数据库中正在运行脚本 - 保存了几次......就像看起来一样笨拙,它完美无缺。
我有200个表,我不知道这是否适用于大型数据库。