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

发布于 2024-08-13 05:12:21 字数 418 浏览 2 评论 0原文

我有成对的表,格式为TABLETABLE_TWIN,现在

  • TABLE是包含大量数据的主表
  • < code>TABLE_TWIN 是一个具有完全相同字段和少量数据(不同数据)的表现

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

我不擅长 PL/SQL,所以我需要一些帮助。

谢谢!

I have pairs of tables in the format TABLE and TABLE_TWIN now

  • TABLE is the main table with lots of data
  • TABLE_TWIN is a table with the exact same fields with a little data (different data)

Now I would like to copy all rows from TABLE_TWIN to TABLE using a stored procedure. I have many such tables and could like the stored procedure to take the table name(s) as parameter(s) so that I can use the same procedure for each table pair. I do not want to write long INSERT statements because these tables have around 50 attributes each.

I am not good with PL/SQL so I need some help here.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

春花秋月 2024-08-20 05:12:21

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;

SQL is not so long... But if you prefer a procedure, here it is:

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;
池木 2024-08-20 05:12:21
insert into table_twin (select * from table) 

应该这样做

insert into table_twin (select * from table) 

should do it

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文