亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么我的觸發器不能創建成功?

create or replace trigger securitytest

before insert

on test

begin

? ?if to_char(sysdate,'day') in ('saturday','sunday') or

? ? ? to_number(to_char(sysdate,'hh24')) not between 9 and 18 then

? ? ? raise_application_error(-200001,'cannot insert in woking time');

? ?end if

end;


正在回答

6 回答

test是你自己創建的表嗎??oracle提示的錯誤信息是什么?

2 回復 有任何疑惑可以回復我~
#1

慕粉3344523 提問者

非常感謝!
2016-07-10 回復 有任何疑惑可以回復我~

百度一下

1 回復 有任何疑惑可以回復我~

1,首先你先用這個查一下:select ?to_char(sysdate,'day') from dual;,看看結果是英文還是漢字,如果是漢字,就把:?('saturday','sunday') 改為:?('星期六','星期日') ?

2,raise_application_error(-200001,'cannot insert in woking time'); ?這里的錯誤號參數的范圍是-20000 到 -20999 ?你這里的-200001不在這個范圍內

3 回復 有任何疑惑可以回復我~

還有一個:是-20001,不是-200001

1 回復 有任何疑惑可以回復我~

create or replace trigger securitytest

before insert

on test

begin

? ?if to_char(sysdate,'day') in ('saturday','sunday') or

? ? ? to_number(to_char(sysdate,'hh24')) not between 9 and 18 then

? ? ? raise_application_error(-200001,'cannot insert in woking time');

? ?end if

end;

?我改成上面的方式也不行呀

0 回復 有任何疑惑可以回復我~
#1

qq_騎著蝸牛去旅行_03471935

菇涼,你的錯誤號錯了,范圍是-20000(負兩萬)到-20999(負兩萬九百九十九),你寫的是-200001(負二十萬零一),多了個零
2016-07-08 回復 有任何疑惑可以回復我~

你的不是漢語星期六和星期日所以沒有進if判斷

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么我的觸發器不能創建成功?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號