基于insert语句插入行(嵌套插入)

时间:2014-03-04 03:02:55

标签: sql sql-server vb.net

常见的插入语句就是这个..

INSERT INTO tbl_name (ID) VALUES (1)

我想要实现的是使用另一个表中的另一个插入语句来插入ID ..它看起来像这样

INSERT INTO tbl_name VALUES (INSERT INTO tbl_name2 (ID) VALUES (1))

我已经尝试过,但它给了我错误..

INSERT INTO tblReport_OPA (ID_Main) VALUES (INSERT INTO tblReport_OPF (ID_Main) VALUES (1))

我目前正在vb.net 2010和sql express 2005

下开发

2 个答案:

答案 0 :(得分:0)

您可能会使用OUTPUT clause,如下所示:

INSERT INTO tblReport_OPF (ID_Main) 
    OUTPUT Inserted.Id_Main
    INTO tblReport_OPA
SELECT 1 as Id_Main

请注意,您必须使用 SELECT 而不是 VALUES

答案 1 :(得分:0)

目前可以使用合并。

merge into #a T1
using (select -1 as ID)Q on Q.ID=T1.ID
WHEN NOT matched by target then
insert(id) values(1)
output
inserted.id
INTO #b;