db2 for update 用法
db2 => CREATE TRIGGER BeforeUpdateTest \
db2 (cont.) => BEFORE UPDATE OF val ON test_trigger_table \
db2 (cont.) => REFERENCING OLD AS O NEW AS N \
db2 (cont.) => FOR EACH ROW MODE DB2SQL \
db2 (cont.) => WHEN (N.val > (O.val * 1.5)) \
db2 (cont.) => BEGIN ATOMIC \
db2 (cont.) => SIGNAL SQLSTATE 75001 (VAL 增幅过大!) ; \
db2 (cont.) => END
DB20000I SQL 命令成功完成。
db2 => select * from test_trigger_table
ID NAME VAL
----------- ---------- -----------
1 XYZ 123
1 条记录已选择。
db2 => update test_trigger_table set val = 130 where id=1
DB20000I SQL 命令成功完成。
db2 => update test_trigger_table set val = 300 where id=1
DB21034E 该命令被当作 SQL 语句来处理,因为它是无效的“命令行处理器”命令。在
SQL 处理期间,它返回:
SQL0438N 应用程序发生错误或警告,其诊断文本为:"VAL 增幅过大!"。
SQLSTATE=75001
是指触发器里面的 UPDATE OF 么?
oracle 有,db2好像没有哈