将select语句的结果插入到Oracle存储过程中的另一个表中

时间:2012-07-24 13:22:11

标签: oracle stored-procedures

我正在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

在上面的示例中,我在procedure参数中有my_id,并希望在table_和table2中为每个结果条目插入new_table。

1 个答案:

答案 0 :(得分:9)

你可以试试这个

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