嗨iam试图在我的数据库中作出更新触发器。 但每次触发触发时我都会收到此错误。T-SQL更新触发器帮助
错误消息:该行的值(一个或多个)更新或删除或者不要使行唯一或他们更改多个行(3rows)
和我的继承人触发
ALTER TRIGGER [dbo].[x1pk_qp_update]
ON [dbo].[x1pk] FOR UPDATE
AS
BEGIN TRY
DECLARE @UserId int
, @PackareKod int
, @PersSign varchar(10)
SELECT @PackareKod = q_packarekod
, @PersSign = q_perssign
FROM INSERTED
IF @PersSign IS NOT NULL
BEGIN
IF EXISTS (SELECT * FROM [QPMardskog].[dbo].[UserAccount] WHERE [Account] = @PackareKod)
BEGIN
SET @UserId = (SELECT [UserId]
FROM [QPMardskog].[dbo].[UserAccount]
WHERE [Account] = @PackareKod)
UPDATE [QPMardskog].[dbo].[UserAccount]
SET [Active] = 1
WHERE [Account] = @PackareKod
UPDATE [QPMardskog].[dbo].[User]
SET [Active] = 1
WHERE [Id] = @UserId
END
END
END TRY
但我只更新表中的一行,它如何说3行。请指教。
它可以更新超过1条记录。您从最后这些记录中选择@PackareKod和@PersSign。 – garik 2010-03-12 11:22:32