【问题标题】:Write a stored procedure which reads from table A and writes into table B in PostgreSQL在 PostgreSQL 中编写一个从表 A 读取并写入表 B 的存储过程
【发布时间】:2019-10-14 15:07:38
【问题描述】:

在 PostgreSQL 中使用 PL/SQL 或 plpgsql,我需要编写一个从表 A 读取并写入表 B 的存储过程。这两个表具有相同的结构,并且该过程不会有任何参数。我不确定这会是什么样子。谢谢!

【问题讨论】:

  • 您会提前知道表的定义,还是应该通过编程来解决?
  • 如果过程没有参数,这是否意味着您只是将表 A 中的所有记录复制到表 B 中?如果没有,您如何知道要复制哪些记录?

标签: plsql plpgsql


【解决方案1】:

解决方案可以像下面的 PL/SQL 脚本一样简单。如果有其他要求,请告诉我。

create table temp_a (
  id number,
  my_data varchar2(100),
  data_date date);

insert into temp_a (id, my_data, data_date)
values (1, 'some data', sysdate);

select * from temp_a;

create table temp_b (
  id number,
  my_data varchar2(100),
  data_date date);

select * from temp_b;

create or replace procedure copy_data is
begin
  insert into temp_b (id, my_data, data_date)
  select id, my_data, data_date from temp_a;
end;
/

begin copy_data; end;

select * from temp_a;

select * from temp_b;

【讨论】:

    猜你喜欢
    • 2017-04-20
    • 1970-01-01
    • 1970-01-01
    • 2014-10-13
    • 2020-10-06
    • 1970-01-01
    • 2021-07-15
    • 2013-10-20
    • 2023-04-04
    相关资源
    最近更新 更多