gpt4 book ai didi

sql server而不是触发带有插入的变量和值的插入语句

转载 作者:行者123 更新时间:2023-12-04 23:26:45 25 4
gpt4 key购买 nike

我有一个 instead of 触发器。我在变量中有一个值。

我想将值插入其中一列并使用插入的字段。这就是我想要完成的:

declare @someLocalVariable varchar(9)

set @someLocalVariable = dbo.someLocalUDF()

INSERT myTable (field1, field2, field3)
VALUES (@someLocalVariable, (select field2, field3 from inserted))

最佳答案

INSERT INTO myTable (
field1,
field2,
field3
) SELECT
@someLocalVariable,
field2,
field3
FROM
INSERTED

请记住,如果这是由批量插入触发的(即 INSERTED 有多条记录),所有记录也将插入到目标表中。

(恕我直言,这正是它应该做的,但出于某种原因,人们通常会忘记这一点。)

编辑

OP 忘记说出他的问题到底是什么:生成唯一的主键值。因此,在那种情况下,一种方法是这样的:

CREATE TRIGGER
dbo.InsteadOfInsertMyTable
ON MyTable
INSTEAD OF INSERT
AS
BEGIN
INSERT INTO myTable (
primaryKeyField,
field2,
field3
) SELECT
dbo.someUniqueValueGeneratorUDF(),
field2,
field3
FROM
INSERTED
END
GO

关于sql server而不是触发带有插入的变量和值的插入语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4807495/

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