gpt4 book ai didi

sql - 使用INSERT-OUTPUT为另一个INSERT提供值

转载 作者:行者123 更新时间:2023-12-02 04:01:42 26 4
gpt4 key购买 nike

美好的一天,

我想知道是否有可能使用INSERT-OUTPUT语句,以便为另一个外部INSERT语句提供值。这样一来,就可以在单个语句中将值添加到实体表和相交表中-我希望我能有效地表达这一点。例如:

INSERT INTO [#tblIntersect] ([Entity1ID], [Entity2ID])
VALUES
(
INSERT INTO [#tblEntity1] ([Value])
OUTPUT [inserted].[ID] AS [entity1ID], @entity2ID AS [entity2ID]
VALUES ('One')
)

因此,内部INSERT-OUTPUT语句将向表 #tblEntity1添加一个新实体。新实体的 ID(设置为 IDENTITY(1, 1))随后将通过 OUTPUT语句以及静态值(我已经在我的代码中返回)返回,以为外部 INSERT语句提供两个值。

我认为可能的原因是,内部 INSERT-OUTPUT语句的执行本身会返回一个表,并且这种输出通常可用于为 INSERT语句提供值。

显然,这个例子不起作用。我希望这只是一个简单的语法问题。

预先感谢您的任何意见和建议。

最佳答案

根据documentation的要求是可能的。

假设#tblIntersect具有两个匹配的id列,则此方法应该有效

INSERT INTO [#tblEntity1] ([Value])
OUTPUT [inserted].[ID] AS [entity1ID], @entity2ID AS [entity2ID]
INTO #tblIntersect
VALUES ('One')

关于sql - 使用INSERT-OUTPUT为另一个INSERT提供值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10231776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com