TSQL插入选择-显示行

TSQL插入选择-显示行,sql,tsql,select,insert,Sql,Tsql,Select,Insert,是否可以显示通过此查询插入的行: INSERT INTO dbo.Table (Col1, Col2, Col2) (SELECT Col1, Col2, 'Something modified', FROM dbo.Table WHERE Col10 = 66) 重要的是要使用它的PrimaryKey值等获取整个新行,不仅是Col1、Col2、Col3子句现在是您的朋友: INSERT INTO steam.Documen

是否可以显示通过此查询插入的行:

INSERT INTO dbo.Table (Col1, Col2, Col2)
    (SELECT
        Col1,
        Col2,
       'Something modified',
    FROM dbo.Table
    WHERE Col10 = 66)
重要的是要使用它的PrimaryKey值等获取整个新行,不仅是Col1、Col2、Col3

子句现在是您的朋友:

INSERT INTO steam.DocumentGeographies (Col1, Col2, Col3)
OUTPUT inserted.*
    (SELECT
        Col1,
        Col2,
       'Something modified',
    FROM dbo.Table
    WHERE Col10 = 66)
您可以使用
INTO
子句指定目标表,或将查询包装为子查询,从而插入
输出的结果:

条款

当您要将相同的数据插入两个表时,这非常有用。您始终可以在OUTPUT子句中列出所需的文件(inserted.Col1、inserted.Col2)

子查询

当您希望将输出连接到另一个表或进行计算(如求和或计算值)并将这些结果插入另一个表时,这非常有用

条款现在是你的朋友:

INSERT INTO steam.DocumentGeographies (Col1, Col2, Col3)
OUTPUT inserted.*
    (SELECT
        Col1,
        Col2,
       'Something modified',
    FROM dbo.Table
    WHERE Col10 = 66)
您可以使用
INTO
子句指定目标表,或将查询包装为子查询,从而插入
输出的结果:

条款

当您要将相同的数据插入两个表时,这非常有用。您始终可以在OUTPUT子句中列出所需的文件(inserted.Col1、inserted.Col2)

子查询

当您希望将输出连接到另一个表或进行计算(如求和或计算值)并将这些结果插入另一个表时,这非常有用


可能重复的@Pred可能重复的代码对我来说是新的。是否有任何方法将插入值(主要是自动递增)分配给变量?是否可以保存插入值。*以分隔临时表?是的,可以!将此查询包装为子查询,并将其结果插入到临时表中。@TechDo:OUTPUT子句将“返回”一个表,而不是一个值。您可以将结果插入到表变量(
DECLARE@TableVar table(ColumnDefinitions)
)中,并可以对该表(与任何表一样)执行其他处理@Pred谢谢。。。这对我帮助很大,而且是一个新概念。@Pred是一段很好的代码,对我来说是新的。是否有任何方法将插入值(主要是自动递增)分配给变量?是否可以保存插入值。*以分隔临时表?是的,可以!将此查询包装为子查询,并将其结果插入到临时表中。@TechDo:OUTPUT子句将“返回”一个表,而不是一个值。您可以将结果插入到表变量(
DECLARE@TableVar table(ColumnDefinitions)
)中,并可以对该表(与任何表一样)执行其他处理@Pred谢谢。。。帮了很多忙,有了新概念。
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