从子查询中多次插入

时间:2012-05-14 09:40:34

标签: sql oracle

我有一个会返回一些ID的查询。

SELECT ID FROM xf_menu WHERE m.modul_id = 13;

然后有一个简单的插入查询

INSERT INTO xp_uziv_menu (menu_id, modul_id, right)  VALUES (???, 136, 3);

值136和3是常量。

我想知道是否可以编写一个查询,其中id将从第一个查询传递到插入查询并执行。

我尝试了这种语法,但它不起作用。

INSERT INTO 
     xp_uziv_menu (menu_id, modul_id, right)  
VALUES 
     (SELECT ID FROM xf_menu WHERE m.modul_id = 13, 136, 3);

3 个答案:

答案 0 :(得分:4)

也许是这样的:

INSERT INTO xp_uziv_menu (menu_id, modul_id, right)   
SELECT 
    ID,
    136,
    3 
FROM xf_menu WHERE m.modul_id = 13;

答案 1 :(得分:2)

以这种方式尝试:

INSERT INTO xp_uziv_menu (menu_id, modul_id, right)  
SELECT ID, 136, 3 FROM xf_menu WHERE m.modul_id = 13;

答案 2 :(得分:0)

尝试: -

INSERT INTO xp_uziv_menu
 SELECT ID, modul_id, 3 Where id = 13