<select id="t_beforeinsert_on_st_pptn_r" parameterType="java.util.Map">
ALTER trigger t_beforeinsert_on_st_pptn_r ON st_pptn_r
INSTEAD OF INSERT
AS
BEGIN
INSERT INTO st_alert_b(STCD,TM,VAL,[LEVEL],[INFO],[STATUS],[VTYPE])
SELECT STCD ,
TM ,
DRP ,
[LEVEL]=
CASE
WHEN DRP >= #{val1} AND DRP < #{val2} THEN 'I'
WHEN DRP >= #{val4} AND DRP < #{val5} THEN 'II'
WHEN DRP >= #{val7} AND DRP < #{val8} THEN 'II'
WHEN DRP < #{val10} OR DRP > #{val11} THEN '异常'
END ,
[INFO]=
CASE
WHEN DRP >= #{val1} AND DRP < #{val2} THEN #{val3}
WHEN DRP >= #{val4} AND DRP < #{val5} THEN #{val6}
WHEN DRP >= #{val7} AND DRP < #{val8} THEN #{val9}
WHEN DRP < #{val10} OR DRP > #{val11} THEN #{val12}
END ,
[STATUS] =
CASE
WHEN DRP < #{val10} OR DRP >= #{val1} THEN '报警'
END ,
'降雨量'
FROM inserted
WHERE DRP <#{val10} OR DRP >=#{val1}
INSERT INTO st_pptn_r(STCD,TM,DRP,[STATUS])
SELECT STCD ,
TM ,
DRP ,
[STATUS] = CASE
WHEN DRP >= #{val10} AND DRP < #{val1} THEN '正常'
WHEN DRP >= #{val1} AND DRP < #{val8} THEN '报警'
WHEN DRP < #{val10} OR DRP > #{val11} THEN '异常'
END
FROM inserted
END
</select>
Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'trigger' 附近有语法错误。
报警这块是触发器去做的。现在web端要修改报警参数,前台传设置的值去后台,用mybatis修改触发器