如何使用 "inserted" 关键词
How to use "inserted" keyword
我正在尝试在 SQL 服务器中创建一个触发器,SQL 语句看起来像
CREATE TRIGGER dbo.INSERTTORNADOUSER
ON Monarch.dbo.GROUPUSER
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@UserName nvarchar(10),
SELECT @UserName = U.U_NAME FROM USERID U WHERE U.U_ID = inserted.GU_U_ID
我在使用 inserted 关键字时遇到错误。错误消息如下:
The multi part identifier inserted.GU_U_ID could not be bound.
我使用的 table 结构看起来像
Table : USERID
Columns :
U_ID
U_NAME
U_PASSWORD
Table : GROUPUSER
Columns:
GU_ID
GU_U_ID
我读了这个 article 作为参考。只需要一些帮助来了解出了什么问题。
谢谢。
不要使用变量。您可以使用 table INSERTED
和 USERID
的 JOIN
结果直接插入 USERUPDATELOG
INSERT INTO USERUPDATELOG ( . . .)
SELECT . . .
FROM INSERTED I
INNER JOIN USERID U WHERE U.U_ID = I.GU_U_ID
我正在尝试在 SQL 服务器中创建一个触发器,SQL 语句看起来像
CREATE TRIGGER dbo.INSERTTORNADOUSER
ON Monarch.dbo.GROUPUSER
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@UserName nvarchar(10),
SELECT @UserName = U.U_NAME FROM USERID U WHERE U.U_ID = inserted.GU_U_ID
我在使用 inserted 关键字时遇到错误。错误消息如下:
The multi part identifier inserted.GU_U_ID could not be bound.
我使用的 table 结构看起来像
Table : USERID
Columns :
U_ID
U_NAME
U_PASSWORD
Table : GROUPUSER
Columns:
GU_ID
GU_U_ID
我读了这个 article 作为参考。只需要一些帮助来了解出了什么问题。
谢谢。
不要使用变量。您可以使用 table INSERTED
和 USERID
JOIN
结果直接插入 USERUPDATELOG
INSERT INTO USERUPDATELOG ( . . .)
SELECT . . .
FROM INSERTED I
INNER JOIN USERID U WHERE U.U_ID = I.GU_U_ID