重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
oracle的觸發(fā)其分為前觸發(fā) before和后觸發(fā)after,你描述的業(yè)務(wù)需要使用后觸發(fā),使用plsql/develper工具創(chuàng)建一個觸發(fā)器,(生成有觸發(fā)器模版,注意使用after關(guān)鍵詞),同時要使用updating+地段名,然后是鏈接你的業(yè)務(wù)。自己看看幫助就能解決的
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供民樂企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為民樂眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。
加*號記錄變化次數(shù),可以換一種記錄方式試試,比如 |12| 方式,這樣的話就沒有次數(shù)的限制了
oracle中觸發(fā)器有三種
1.DML觸發(fā)器
ORACLE可以在DML語句進(jìn)行觸發(fā),可以在DML操作前或操作后進(jìn)行觸發(fā),并且可以對每個行或語句操作上進(jìn)行觸發(fā)。
2 .替代觸發(fā)器
由于在ORACLE里,不能直接對由兩個以上的表建立的視圖進(jìn)行操作。所以給出了替代觸發(fā)器。它就是ORACLE 8專門為進(jìn)行視圖操作的一種處理方法。
3. 系統(tǒng)觸發(fā)器
ORACLE 8i 提供了第三種類型的觸發(fā)器叫系統(tǒng)觸發(fā)器。它可以在ORACLE數(shù)據(jù)庫系統(tǒng)的事件中進(jìn)行觸發(fā),如ORACLE系統(tǒng)的啟動與關(guān)閉等。
你這個是
Oracle
的
for
each
row
觸發(fā)器
也就是
每行
觸發(fā)一次的。
這種觸發(fā)器,
不能直接通過
UPDATE
語句,
更新當(dāng)前表。
應(yīng)該是通過
:new
來更新當(dāng)前行的數(shù)據(jù)。
也就是把
update
t_emp
set
xm
=
REGEXP_REPLACE(xm,'(
){1,}','');
修改為:
:new.xm
=
REGEXP_REPLACE(xm,'(
){1,}','');
一般在sqlplus或者其他第三方oracle工具中,按照語法及需求寫好代碼,直接執(zhí)行創(chuàng)建過程即可。
一般語法如下:
CREATE?[OR?REPLACE]?TRIGGER?trigger_name
{BEFORE?|?AFTER?}
{INSERT?|?DELETE?|?UPDATE?[OF?column?[,?column?…]]}
[OR?{INSERT?|?DELETE?|?UPDATE?[OF?column?[,?column?…]]}...]
ON?[schema.]table_name?|?[schema.]view_name?
[REFERENCING?{OLD?[AS]?old?|?NEW?[AS]?new|?PARENT?as?parent}]
[FOR?EACH?ROW?]
[WHEN?condition]
PL/SQL_BLOCK?|?CALL?procedure_name;