【问题标题】:Stored Procedure for copying data from one table to another将数据从一个表复制到另一个表的存储过程
【发布时间】:2010-12-22 23:53:55
【问题描述】:
我现在有 成对的表格,格式为 TABLE 和 TABLE_TWIN
-
TABLE 是主表,有很多数据
-
TABLE_TWIN 是一个表,字段完全相同,但数据很少(不同的数据)
现在我想使用存储过程将所有行从TABLE_TWIN 复制到TABLE。我有很多这样的表,并且可能希望存储过程将表名作为参数,以便我可以对每个表对使用相同的过程。我不想写冗长的INSERT 语句,因为这些表每个都有大约 50 个属性。
我不擅长 PL/SQL,所以我需要一些帮助。
谢谢!
【问题讨论】:
标签:
oracle
stored-procedures
plsql
【解决方案1】:
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;
【解决方案2】:
insert into table_twin (select * from table)
应该这样做