- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
CREATE OR REPLACE TRIGGER trig1
BEFORE INSERT
ON tab1
REFERENCING NEW AS new OLD AS old
FOR EACH ROW
DECLARE
tmpVar tab1.budat%TYPE;
v_cd tab2.cd%TYPE;
BEGIN
tmpVar := to_char(sysdate-1, 'YYYYMMDD');
SELECT f_get_code INTO v_cd FROM dual;
IF v_cd = 'C1' THEN
:new.budat := tmpVar;
END IF;
END trig1;
someone 29.05.2013 09:41 # 0
DBdev 29.05.2013 10:15 # +1
А если в момент выполнения триггера без 1 микросекунды до 00:00 следующего дня?
На IF потратиться эта самая микросекунда и в таблицу пойдет уже новый день!
DBdev 29.05.2013 10:38 # +1
s/ться/тся/
xordata 06.06.2013 09:42 # 0
Извращённый способ борьбы с исключениями :)
guest8 11.07.2020 03:50 # −999