Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 插入重复用户ID后触发_C#_Sql Server_Triggers - Fatal编程技术网

C# 插入重复用户ID后触发

C# 插入重复用户ID后触发,c#,sql-server,triggers,C#,Sql Server,Triggers,我在ASP.NET表“UsersInRoles”中添加了一个名为“UIR\u UserID[nvarchar(50)]”的附加字段。我想在插入时触发的是将用户ID复制到toUIR\u UserId字段中 CREATE TRIGGER [dbo].[TRIG_INS_DUPL_USER_ID] ON [dbo].[UsersInRoles] AFTER INSERT AS BEGIN INSERT INTO UsersInRoles(UIR_UserID) SELECT UserId FROM

我在ASP.NET表“UsersInRoles”中添加了一个名为“
UIR\u UserID[nvarchar(50)]
”的附加字段。我想在插入时触发的是将用户ID复制到to
UIR\u 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

你得到的不是好的,你会得到无限的递归。我认为您希望
更新新插入的行,而不是插入其他行:

update u
set UIR_UserID = i.UserId
from dbo.UsersInRoles u
join inserted i on u.UserId = i.UserId

或者,看起来您真正想要做的是从调用应用程序中抽象出
UIR\u UserID
字段。您可以改为使用存储过程或可插入视图来执行此内联操作。尽管在同一行的两列中存在重复数据这一事实仍然值得怀疑。

在另一个字段UIR\U userid中需要相同的userid有什么具体原因吗?