在 SQL Server 中使用单个语句将多个值插入到多个表中
2005 年推出的 T-SQL函数OUTPUT 可用于在单个语句中将多个值插入到多个表中。作为 INSERT、UPDATE 或 DELETE 操作一部分的每一行的输出值由 OUTPUT 子句返回。
句法 :
INSERT INTO Table1 (Col1, Col2)
OUTPUT inserted.Col1, inserted.Col2
INTO Table2
VALUES()
GO
例子 :
让我们使用以下查询创建 2 个示例表 -
CREATE TABLE GeekTable1 (Id1 INT, Name1 VARCHAR(200), City1 VARCHAR(200))
GO
CREATE TABLE GeekTable2 (Id2 INT, Name2 VARCHAR(200), City2 VARCHAR(200))
GO
现在让我们一起将值插入到两个表中——
INSERT INTO GeekTable1 (Id1, Name1, City1)
OUTPUT inserted.Id1, inserted.Name1, inserted.City1
INTO GeekTable2
VALUES(1,'Komal'), (2, 'Khushi')
GO
从两个表中选择数据 -
SELECT * FROM GeekTable1 ;
GO
SELECT * FROM GeekTable2 ;
GO
输出 :
当我们运行上面的查询时,我们会看到表中有两行——
极客表1Id1 Name1 City1 1 Komal Delhi 2 Khushi Noida
极客表2Id2 Name2 City2 1 Komal Delhi 2 Khushi Noida