近期遇到一个问题,某个表的某个字段在更新的时候,想把他设成一个固定值,想在该表中创建一个触发器,如果这个该表的某个字段的值发生变化,就直接设定该字段的值。
CREATE OR REPLACE TRIGGER TABLESNAME_SLEEP
BEFORE UPDATE
OF USER_IS_SLEEP
ON TABLESNAME
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
BEGIN
:NEW.USER_IS_SLEEP:='0';
EXCEPTION
WHEN OTHERS THEN
-- Consider logging the error and then re-raise
RAISE;
END ;
注意一定要把触发器改成before触发。