PL / SQL如何使用子查询和参数进行INSERT

时间:2011-05-26 20:27:38

标签: oracle plsql

我有一个需要字符串作为输入的过程

CREATE PROCEDURE testing(MYVAR VARCHAR) AS
BEGIN
  INSERT INTO mytable VALUES ( (SELECT id FROM articles), MYVAR );  --WRONG

插入查询错误,表mytable基本上只有2个字段:

idarticles | variable

使用子查询我想选择所有article ID并将它们作为一对与MYVAR arg插入。

我该怎么做? 感谢

2 个答案:

答案 0 :(得分:5)

试试这个:

  INSERT INTO mytable (idarticles,variable)
    SELECT id, myvar FROM articles

与在SELECT语句中包含任何其他变量或常量或字面值相同:

 SELECT 100, 'Foo', ID FROM Customer

答案 1 :(得分:1)

试试这个:

INSERT INTO mytable (SELECT id, MYVAR FROM articles);