我有下表

Data --Table name
ID -- Identity column
PCode -- Postal Code

我创建了以下触发器:
CREATE TRIGGER Trig
ON Data
FOR INSERT
AS
BEGIN

    Select * from inserted

END

并插入以下值
INSERT INTO Data VALUES (125)
INSERT INTO Data VALUES (126)
INSERT INTO Data VALUES (127)

它显示了这一点:

sql - 触发: How does the inserted table work?如何访问其行?-LMLPHP

但是我期待这样的事情:
  • 第一次插入后,执行触发器-> inserted表中显示一行。
  • 第二次插入后,执行触发器-> inserted表中显示两行。
  • 第三次插入后,执行触发器-> inserted表中显示三行。

  • 根据msdn.microsoft,所有插入的行都在此表中。

    如何访问inserted表,以便可以看到所有预期的行而不是分别看到?

    最佳答案

    你不能。从microsoft.com上的Use the inserted and deleted Tables文章中,您可以阅读:



    这意味着inserted表将仅包含当前INSERTUPDATE语句的行。

    如果确实要查看多个此类INSERTUPDATE语句的所有行,则必须将这些行存储在自己创建的表中。

    关于sql - 触发: How does the inserted table work?如何访问其行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40576424/

    10-11 20:39