Fka*_*Fka 1 sql t-sql select insert
是否可以通过此查询显示我插入的行:
INSERT INTO dbo.Table (Col1, Col2, Col2)
(SELECT
Col1,
Col2,
'Something modified',
FROM dbo.Table
WHERE Col10 = 66)
Run Code Online (Sandbox Code Playgroud)
使用它的PrimaryKey值等获取整个新行非常重要,不仅仅是Col1,Col2,Col3
该OUTPUT条款现在是你的朋友:
INSERT INTO steam.DocumentGeographies (Col1, Col2, Col3)
OUTPUT inserted.*
(SELECT
Col1,
Col2,
'Something modified',
FROM dbo.Table
WHERE Col10 = 66)
Run Code Online (Sandbox Code Playgroud)
您可以OUTPUT通过使用INTO子句指定目标表或将查询包装为子查询来插入结果:
INTO 条款
当您想要将相同的数据插入两个表时,这很有用.您始终可以在OUTPUT子句中列出所需的文件(inserted.Col1,inserted.Col2)
INSERT INTO steam.DocumentGeographies (Col1, Col2, Col3)
OUTPUT inserted.* INTO DestinationTableName(Col1, Col2, Col3)
(SELECT
Col1,
Col2,
'Something modified',
FROM dbo.Table
WHERE Col10 = 66)
Run Code Online (Sandbox Code Playgroud)
SUBQUERY
当您想要将OUTPUT连接到另一个表或想要进行计算(如求和或计数值)并将这些结果插入另一个表时,这很有用.
INSERT INTO DestinationTableName
(Col1, Col2, Col3)
SELECT Col1, Col2, Col3 FROM (
INSERT INTO steam.DocumentGeographies (Col1, Col2, Col3)
OUTPUT inserted.*
(SELECT
Col1,
Col2,
'Something modified',
FROM dbo.Table
WHERE Col10 = 66)
) TMP
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8260 次 |
| 最近记录: |