【问题标题】:Fetch record from existing table and insert new record in Oracle从现有表中获取记录并在 Oracle 中插入新记录
【发布时间】:2013-09-20 04:06:21
【问题描述】:

我有 2 张桌子 xyz 和 abc。 abc 是 xyz 的子节点,xyz 中有两列,即 xyz1、xyz2。

表abc也有三列,即xyz1、abc1、abc2。

我想编写一个存储过程,我将向其传递两个参数。

123, 456. 

123 是表 xyz 中记录的主键。

查询应该从父表和子表中获取记录 123 并插入一条主键为 456 的新记录,其余字段为记录 123。

我正在使用 Oracle 8i。

【问题讨论】:

    标签: oracle oracle11g


    【解决方案1】:

    您只需要两个插入选择语句:

    create or replace procedure(vi_fromkey integer, vi_tokey integer) as
    begin
      insert into xyz (xyz1, xyz2) select vi_tokey, xyz2 from xyz where xyz = vi_fromkey;
      insert into abc (xyz1, abc1, abc2) select vi_tokey, abc1, abc2 from abc where xyz = vi_fromkey;
    end;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-03
      • 1970-01-01
      相关资源
      最近更新 更多