如何使用oracle中的存储过程将数据从一个表移动/复制到另一个表

时间:2014-11-13 10:20:26

标签: oracle plsql oracle11g

我有成对的表tbltbl_backup

现在' tbl'是包含大量数据的主表 ' tbl_backup'是一个具有完全相同字段的表 现在我想复制来自' tbl'的所有行。到' tbl_backup'使用存储过程。我想对许多这样的表做同样的事情,因此我想使用存储过程。

我不熟悉PL / SQL所以我需要一些帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

create or replace procedure backup_table
    ( i_source_table in varchar2
    , i_target_table in varchar2 )
    authid current_user
is
begin
    execute immediate '
        insert --+ append
            into '||sys.dbms_assert.enquote_name(sys.dbms_assert.sql_object_name(i_target_table))||'
        select *
        from '||sys.dbms_assert.enquote_name(sys.dbms_assert.sql_object_name(i_source_table))
    ;
end;