实际上,我一直在尝试通过触发来更新表'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