2009-12-03 55 views
4

我在格式TABLE表对TABLE_TWIN现在存储过程复制从一个表中的数据到另一个

  • TABLE是大量数据的主表
  • TABLE_TWIN是与表几乎完全相同的字段(不同的数据)

现在我想复制TABLE_TWIN所有行到TABLE使用存储过程。我有很多这样的表,并且可能希望存储过程将表名作为参数,以便我可以为每个表对使用相同的过程。我不想写long INSERT声明,因为这些表每个都有大约50个属性。

我对PL/SQL不太好,所以我需要一些帮助。

谢谢!

回答

8

SQL是没有那么长......但是,如果你喜欢一个过程,那就是:

create or replace procedure table_copy(
    p_tab_from varchar2, 
    p_tab_to varchar2) 
is 
begin 
    execute immediate 'insert into '||p_tab_to||' (select * from '||p_tab_from||')'; 
end; 
5
insert into table_twin (select * from table) 

应该这样做

相关问题