Sql server SQL更新触发问题

Sql server SQL更新触发问题,sql-server,tsql,triggers,sql-update,Sql Server,Tsql,Triggers,Sql Update,我有以下更新触发器(下面的代码),这是工作,但不是我所期望的。 当我在Valve表中为值VCODE(即V或AV)添加信息时,我会得到以下错误(如下图所示),我知道如果我右键单击并执行SQL,然后会填充值,但我不想这样做。 我已经做了一些挖掘,我认为这与pkID有关,但我不确定我需要用代码做什么来解决这个问题。请有人告诉我应该如何重写下面的脚本以避免这个错误 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TRIGGER [dbo].

我有以下更新触发器(下面的代码),这是工作,但不是我所期望的。 当我在Valve表中为值VCODE(即V或AV)添加信息时,我会得到以下错误(如下图所示),我知道如果我右键单击并执行SQL,然后会填充值,但我不想这样做。 我已经做了一些挖掘,我认为这与pkID有关,但我不确定我需要用代码做什么来解决这个问题。请有人告诉我应该如何重写下面的脚本以避免这个错误

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[trValve] ON [dbo].[Valve]
AFTER UPDATE
AS
BEGIN
    SET NOCOUNT ON;

    UPDATE Valve
    SET VSYS = 'VLV',
    SITE_CODE = '00123',
    VAREA = 'INL'
    FROM Valve t
    INNER JOIN inserted i ON t.pkID = i.pkID
    WHERE i.VCODE = 'V'
    OR i.VCODE = 'AV'

BEGIN
    SET NOCOUNT ON;

    UPDATE VALVE
    SET ASSET_TAG = CONCAT (
            Valve.SITE_CODE,'-',Valve.VAREA,'-',valve.VSYS,'-',Cast(pkID AS VARCHAR(50))
            );
END
END

对不起,图片没有上传信息读取;此行已成功提交到数据库。但是,在提交后尝试检索回数据时出现问题。因此,行中显示的数据是只读的。若要解决此问题,请重新运行两次您设置为NOCOUNT的queryCurious,并更新
VALVE
中每一行的
资产标签。这是否会影响触发器的功能?如果是,请你解释一下。我正在根据连接的数据为每个阀门制作一个资产标签,每个阀门都是现场记录的单独标识。这可能是我问题的原因吗?