我有一個表名dblog
在架構就像是上一個新行設置一列與觸發器
data_balance_id number(8) primary key,
plan_id number(6) not null,
start_date date default current_date,
end_date date not null);
所以我想創建一個觸發器,它會更新時,插入要enddate
列發生。 enddate
將從插入日起30天內更新。我的觸發代碼是
CREATE OR REPLACE TRIGGER trg
BEFORE INSERT
ON dblog FOR EACH ROW
BEGIN
INSERT INTO dblog (end_date) values (SYSDATE()+30);
END;
/
插入查詢就像下面
insert into dblog (db_id, planid) values (12,123);
沒有任何錯誤創建觸發器。但在插入時我得到以下錯誤
insert into dblog (db_id, planid) values (12,123)
*
ERROR at line 1:
ORA-00036: maximum number of recursive SQL levels (50) exceeded
ORA-06512: at "E1038351.TRG1", line 2
要更新,因此不要插入另一行:剛纔設置的值:new.end_date –
插入之前,你都做了並插入到相同的表,無限循環 –