如何使用Toad for Oracle-9.7.2中的数据生成表脚本

如何使用Toad for Oracle-9.7.2中的数据生成表脚本,oracle,toad,Oracle,Toad,我想为表创建一个脚本,其中应该包括 CREATETABLE语句 表中的数据 表中的序列(仅序列代码) 以及与之相关的触发器 我已经为自动递增ID添加了序列和触发器,我搜索了,但在触发器中找不到足够的序列答案。我部分理解您的意思 要获得createtable语句,请选择该表,然后在屏幕右侧导航到“Script”选项卡-就在这里。除了CREATE TABLE,它还包含一些其他语句(例如ALTER TABLE以添加约束、CREATE INDEX和您的数字4-CREATE TRIGGER) 从序列开始:

我想为表创建一个脚本,其中应该包括

  • CREATETABLE语句
  • 表中的数据
  • 表中的序列(仅序列代码)
  • 以及与之相关的触发器

  • 我已经为自动递增ID添加了序列和触发器,我搜索了,但在触发器中找不到足够的序列答案。

    我部分理解您的意思

    要获得
    createtable
    语句,请选择该表,然后在屏幕右侧导航到“Script”选项卡-就在这里。除了
    CREATE TABLE
    ,它还包含一些其他语句(例如
    ALTER TABLE
    以添加约束、
    CREATE INDEX
    和您的数字4-
    CREATE TRIGGER

    从序列开始:它是一个单独的对象,与任何表都不相关。一个序列可以为许多表提供唯一的数字,所以-我不确定您要找的是什么

    要从该表中获取数据,请右键单击表名;在菜单中选择“导出数据”>>“插入语句”。这将创建一系列插入到命令中的
    INSERT。如果桌子小的话没关系;对于大的,你会在它完成之前变老

    最后一句话引出了另一个建议:你为什么要这样做?适当的选择是使用数据泵或原始EXP实用程序导出该表

    [编辑]

    插入数据“按原样”(即ID列值没有更改)后,禁用触发器并运行其他更新。如果我们假设序列名是MY_SEQ(按照您想要的方式创建它,指定它的起始值等等),那么它将非常简单

    update your_table set id = my_seq.nextval;
    

    完成后,启用触发器,以便为新添加的行触发。

    Insert语句使用现有的唯一ID创建,我在插入数据之前执行触发器为什么它使用现有的唯一ID而不是生成新的?如果要在运行insert语句时创建新的唯一Id,应该怎么做?