pri是TABLE_T的主键 id是TABLE_T的某个字段,对TABLE_T进行插入或更新时,截取id的前3位 如输入的id=12345,实际存入数据库表的id=123,我现在写的ORACLE触发器如下: CREATE OR REPLACE TRIGGER TG_INPUT AFTER INSERT OR UPDATE ON TABLE_T BEGIN update TABLE_T set id=substr(id,1,3); END TG_INPUT; 这是错的,因为如果update会发生死循环,但不知道怎么改,请教
PS:如果单单INSERT的触发器是对的,但我还有实现更新功能: CREATE OR REPLACE TRIGGER TG_INPUT AFTER INSERT ON TABLE_T BEGIN update TABLE_T set id=substr(id,1,3); END TG_INPUT;
最新回答
我是太阳啊
2024-09-17 04:39:48
CREATE OR REPLACE TRIGGER TG_INPUT before INSERT OR UPDATE ON TABLE_T for each row BEGIN :New.Id:=substr(:New.Id,1,3) END TG_INPUT;