是否有任何方法可以在当前使用触发器插入的记录之前更新记录字段



实际上,我一直在尝试通过触发来更新表'type_change'的字段'状态',但我没有成功。我不明白为什么我会错过一个错误的错误,如果我提取的内容是DateTime,并且将其与DateTime进行了比较。我需要帮助。非常感谢您。

CREATE TRIGGER TG_UPD_TIPO_CAMBIO ON TIPO_CAMBIO
AFTER INSERT
AS
    BEGIN
     SET NOCOUNT ON;  
        DECLARE @VNIDMONEDA INT
        DECLARE @VDFECHATIPOCAMBIO DATETIME
        SELECT @VNIDMONEDA = NIDMONEDA, @VDFECHATIPOCAMBIO = DFECHATIPOCAMBIO FROM inserted  
        UPDATE TIPO_CAMBIO
        SET
            TIPO_CAMBIO.NESTADO = 0
        WHERE
            TIPO_CAMBIO.NIDMONEDA = @VNIDMONEDA AND 
            TIPO_CAMBIO.DFECHATIPOCAMBIO < @VDFECHATIPOCAMBIO

错误是:" MENS 102,NIVEL 15,ESTADO 1,PROCEPIMIENTO TG_UPD_TIPO_CAMBIO,Línea41不正确的语法靠近'@vdfechatipocambio'。

在此处输入图像描述

插入的可能包含多个行。您正在做的事情无法处理

    UPDATE t
    SET
           TIPO_CAMBIO.NESTADO = 0
    FROM   
           INSERTED i
           INNER JOIN TIPO_CAMBIO t
           ON  t.TIPO_CAMBIO.NIDMONEDA        = i.VNIDMONEDA 
    WHERE 
           t.TIPO_CAMBIO.DFECHATIPOCAMBIO < i.VDFECHATIPOCAMBIO

最新更新