Sql server SQL触发器错误代码

Sql server SQL触发器错误代码,sql-server,tsql,triggers,Sql Server,Tsql,Triggers,我正在尝试开发一个SQL Server触发器,但当我更新具有与触发器关键字值相同的值的记录时,它似乎为我抛出了一个错误,但如果只有一个记录与该值匹配,则不会抛出错误 错误代码: 关于我为SNL开发的触发器,它似乎产生了一个错误:子查询返回的值超过1。当子查询在=、!=、=或者当子查询用作表达式时。声明已终止 触发代码: USE [TestTrigger] GO /****** Object: Trigger [dbo].[TestTrigger] Script Date: 06/04/2

我正在尝试开发一个SQL Server触发器,但当我更新具有与触发器关键字值相同的值的记录时,它似乎为我抛出了一个错误,但如果只有一个记录与该值匹配,则不会抛出错误

错误代码:

关于我为SNL开发的触发器,它似乎产生了一个错误:子查询返回的值超过1。当子查询在=、!=、=或者当子查询用作表达式时。声明已终止

触发代码:

USE [TestTrigger]
GO
/****** Object:  Trigger [dbo].[TestTrigger]    Script Date: 06/04/2015 08:29:34 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[TestTRigger]
   ON  [dbo].[SN_Contact2]
   FOR INSERT,UPDATE
AS 
BEGIN

        DECLARE @IDSTATUS varchar(254)
        DECLARE @CONTACTID VARCHAR(36)
        DECLARE @CLIENTURL nvarchar(254)
        set @CONTACTID = (select contact_contactid from inserted)
        set @IDSTATUS = (select contact_category from inserted)
        set @CLIENTURL = (select CUST_1004 from inserted)

        IF @IDSTATUS = 'Client'
        BEGIN

                                update sn_contact2 set CUST_ID_Status_Change_Date = getdate()
                where CUST_Main_Contact = 'X' and cust_id_status_change_date is null
                and CUST_1004 = @CLIENTURL
        END


END

有什么想法吗?

这些都是断层线。。当通过单个查询更新/插入超过1条记录时,您将收到此错误(因为子查询返回的值超过1…)

将更新查询从单行更新更改为类似:

update sn_contact2 set CUST_ID_Status_Change_Date = getdate()
                where CUST_Main_Contact = 'X' and cust_id_status_change_date is null
                and CUST_1004 --= @CLIENTURL
in (
select CUST_1004 from inserted where contact_category = 'Client'
)

谢谢你,先生!我要试试那个。非常感谢:)
update sn_contact2 set CUST_ID_Status_Change_Date = getdate()
                where CUST_Main_Contact = 'X' and cust_id_status_change_date is null
                and CUST_1004 --= @CLIENTURL
in (
select CUST_1004 from inserted where contact_category = 'Client'
)