我在ASP.NET表“UsersInRoles”上添加了一个名为“UIR_UserID [nvarchar(50)]
”的字段。我想在插入时触发的操作是将UserId复制到UIR_UserId
字段。
CREATE TRIGGER [dbo].[TRIG_INS_DUPL_USER_ID]
ON [dbo].[UsersInRoles] AFTER INSERT AS
BEGIN
INSERT INTO UsersInRoles(UIR_UserID)
SELECT UserId
FROM INSERTED
END
答案 0 :(得分:1)
你所获得的并不好,你将获得无限的递归。我认为您正在寻找UPDATE
新插入的行,而不是插入其他行:
update u
set UIR_UserID = i.UserId
from dbo.UsersInRoles u
join inserted i on u.UserId = i.UserId
或者,您尝试做的实际情况是从调用应用程序中抽象出UIR_UserID
字段。您可以改为使用存储过程或可插入视图来执行此内联。虽然你在同一行的两列中有重复数据的事实仍然是可疑的。