用于将数据从一个表复制到另一个表的存储过程

时间:2009-12-03 20:26:22

标签: oracle stored-procedures plsql

我的格式TABLETABLE_TWIN

格式成对的表格
  • TABLE是包含大量数据的主表
  • TABLE_TWIN是一个表格,其中包含完全相同的字段和一些数据(不同的数据)

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

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

谢谢!

2 个答案:

答案 0 :(得分:9)

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;

答案 1 :(得分:5)

insert into table_twin (select * from table) 

应该这样做