实际上,我一直试图通过触发器来更新我的表'TYPE_CHANGE'的字段“状态”,但我没有成功。我不明白为什么我错过了一个错误,说“语法错误”,如果我提取的是一个日期时间,我将它与日期时间进行比较。我需要帮助。非常感谢你提前。
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
错误是:“男士102,Nivel 15,Estado 1,Procedureimiento TG_UPD_TIPO_CAMBIO,Línea41 '@VDFECHATIPOCAMBIO'附近的语法不正确。“
答案 0 :(得分:0)
插入可能包含多行。你在做什么不处理
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