【问题标题】:Insert result of select statement to another table in Oracle stored procedure将select语句的结果插入Oracle存储过程中的另一个表
【发布时间】:2012-07-22 19:49:27
【问题描述】:

我正在 oracle 中准备一个存储过程。在这个过程中,我有一个 select 语句,它将导致多行。现在我想将这些行插入到另一个表中。

请有人告诉我这真的很紧急。

更新:

我忘记提及的一件事是,我还必须在我的 select 语句结果中添加另一列。此列将包含此存储过程中的参数值。

下面是这个示例存储过程

Create or Replace PROCEDURE "My Procedure" 
  (
    my_id in number,
    nric in VARCHAR2
  )
BEGIN
insert into new_table(my_new_id,field1, field2)
select my_id,table1.field1, table2.field2 
from table1, table2 
where table1.age=table2.age AND table1.my_nric=nric;
END

在上面的示例中,我在过程参数中有 my_id,并希望将其插入到 new_table 中,用于 table1 和 table2 中的每个结果条目。

【问题讨论】:

标签: oracle stored-procedures


【解决方案1】:

你可以试试这个

INSERT INTO myTable(field1, field2, field3)
   SELECT field1, field2, field3
     FROM anotherTable
       WHERE thisCondition = 'mycondition';

【讨论】:

  • 您的代码只适用于一张桌子,而我需要两张。反正我的问题你好解决了。谢谢你的帮助。
  • 没问题。您可以随时加入任意数量的表格。它只是一个选择语句,对您需要的表数没有限制。酷!
猜你喜欢
  • 1970-01-01
  • 2014-08-02
  • 1970-01-01
  • 2017-02-17
  • 2018-08-05
  • 2012-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多