sách gpt4 ai đã đi

sql - INSERT 是否可以在触发器 "inserted"表中产生多行结果?

In lại 作者:行者123 更新时间:2023-12-03 02:49:49 28 4
mua khóa gpt4 Nike

我知道在触发器中 - 至少对于 SQL Server - 人们永远不应该假设插入的表只有一行,这意味着触发器中这样的 SQL 通常是不好的:

select @UserID = ID from inserted

但是出于好奇,一组 INSERT 语句是否会导致chèn 包含多行的表?我知道更新很容易,但从我的测试来看,我无法模拟插入的类似结果。我尝试在发送批处理终止符之前发送多组插入,例如:

insert into TriggerTest (col2) select 'a'
insert into TriggerTest (col2) select 'b'
insert into TriggerTest (col2) select 'c'
đi

并将它们包装在事务中:

begin tran
insert into TriggerTest (col2) select 'a'
insert into TriggerTest (col2) select 'b'
insert into TriggerTest (col2) select 'c'
làm

但它始终会导致触发器在 1 行的 inserted 表中触发 3 次,而在 3 行的 inserted 表中永远不会触发一次。

这对我来说完全有意义(毕竟它们是 3 个独立的语句),而且我不需要实际执行它,我只是想知道单独的 INSERTS 是否可以表现出与此不同的行为。

biên tập:这是一个愚蠢的问题:当然可以,在插入结果集时!

insert into TriggerTest (col2) select 'a' union select 'b'

...或任何其他类型的集合。

请原谅,现在已经是凌晨 3 点了。我会将这个问题留给那些应该更了解的人。

1 Câu trả lời

thử

insert into TriggerTest (col2) 
select 'a'
union
select 'b'
union
select 'c'

关于sql - INSERT 是否可以在触发器 "inserted"表中产生多行结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3772118/

28 4 0
Bài viết được đề xuất: azure - 通过 ARM 使用 Azure 容器实例创建不确定数量的容器
Bài viết được đề xuất: dart - Dart 单例中的奇怪行为
Bài viết được đề xuất: Azure管道 secret 变量不适用于PR触发器
Bài viết được đề xuất: visual-studio-code - 使用 12 GB 内存运行 Dart
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com