【问题标题】:Copying data between Oracle schemas using SQL使用 SQL 在 Oracle 模式之间复制数据
【发布时间】:2013-11-06 22:43:27
【问题描述】:

我正在尝试使用INSERT INTO (...) SQL 语句将数据从一个 Oracle 架构 (CORE_DATA) 复制到另一个 (MY_DATA)。

SQL 语句会是什么样子?

【问题讨论】:

    标签: sql oracle insert oracle10g bulkinsert


    【解决方案1】:

    当以具有访问权限的用户身份登录时,在表名前加上架构名称:

    insert into MY_DATA.table_name select * from CORE_DATA.table_name;
    

    假设两个模式中的表定义相同,以上将CORE_DATA中名为table_name的表中的所有记录复制到MY_DATA中名为table_name的表中。

    【讨论】:

    • 还需要确保您的用户在 CORE_DATE.table_name 上有选择授权。我假设您的用户在 MY_DATE.table_name 上有适当的授权
    • 您应该知道上述解决方案有效,但不会复制约束
    • 谢谢。我只是想移动数据。
    【解决方案2】:
    usage: COPY FROM [db] TO [db] [opt] [table] { ([cols]) } USING [sel]
    
      [db]   : database schema string, e.g., grprass/grprass@grprass, pplan/pplan@prassm1
      [opt]  : ONE of the keywords: APPEND, CREATE, INSERT or REPLACE
      [table]: name of the destination table
      [cols] : a comma-separated list of destination column aliases ( optional )
      [sel]  : any valid SQL SELECT statement
    
    SQL> COPY FROM scott/tiger@schema1 TO scott/tiger@schema2 insert mytable using select * from mytable;
    

    【讨论】:

      【解决方案3】:

      您的架构必须为此授予创建任何表的权限

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-21
        • 1970-01-01
        相关资源
        最近更新 更多