首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用toad在oracle中将数据从一个数据库/表复制到另一个数据库/表

问如何使用toad在oracle中将数据从一个数据库/表复制到另一个数据库/表
EN

Stack Overflow用户
提问于 2013-09-14 04:27:20
回答 3查看 29.8K关注 0票数 2

我正在尝试将表数据从dev box db复制到uat db,这是两个不同的数据库。我尝试在toad.All中连接细节是正确的,但它不工作,并抛出以下错误。

执行错误(12: 1):ORA-00900:无效的SQL语句

这就是我正在尝试的

代码语言:javascript
复制
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)
EN

回答 3

Stack Overflow用户

发布于 2013-09-14 22:41:32

如果您的表没有大量的行,您可以使用Toad的Export函数:它为每一行创建一个insert语句。然后,您可以在目标DB中运行这些语句来重新创建表的数据。

以下是步骤:

A.在目标DB中创建表的副本

源数据库中的

  1. 在模式浏览器窗口中单击要复制的表,在窗口右侧选择“script ”选项卡:您将找到要重新创建表的脚本;复制此脚本
  2. 并将脚本粘贴到目标数据库中一个新的编辑器窗口中,然后运行它。这将创建新的表

B.在新表中复制数据

  1. 在架构浏览器窗口中右键单击源DB
  2. 中的表名称从上下文菜单中选择“导出数据”
  3. 写入导出查询的“SQL E221”语句(如果要复制整个table)
  4. select目标: clipboard
  5. 单击"ok“(现在,insert语句存储在目标DB中新的编辑器窗口的clipboard)
  6. paste insert语句中)
  7. 作为脚本运行语句(快捷方式F5)
票数 6
EN

Stack Overflow用户

发布于 2013-09-14 04:43:44

copy是一个SQL*Plus命令,而不是SQL语句。如果Toad实现了特定的SQL*Plus命令(它确实实现了许多更简单的命令),我会感到惊讶。如果要使用copy命令,则需要使用SQL*Plus,而不是Toad。

如果要使用Toad,则需要使用SQL语句来复制数据。您可以在目标数据库中创建一个指向源数据库的数据库链接,然后

代码语言:javascript
复制
INSERT INTO tool_service_mapping
  SELECT *
    FROM tool_service_mapping@<<db link to source database>>
票数 4
EN

Stack Overflow用户

发布于 2016-07-14 18:15:05

到目前为止,我经历过的最简单、最无错误的方法是:数据库->比较->模式

它并不像看起来那样复杂(有许多复选框),但是您需要在空数据库中创建对象的复选框,在比较结束时,您将得到包含您选择的所有对象(触发器、视图、序列、包)的SQL脚本(复选框)。

我清楚地看到所有的表,触发器,数据等在生成的sql脚本,甚至可以勾选这些我不希望创建(如果有的话)…在执行脚本之前,TOAD会要求您确认您正在针对哪个数据库运行脚本-为我节省了几次时间...尽管它看起来很奇怪,但它工作得很完美。

我有大约200张表,我不知道这是否适合大型数据库。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18794689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档