




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、Oracle觸發(fā)器語法(一) 一 Oracle觸發(fā)器語法觸發(fā)器是特定事件出現(xiàn)的時候,自動執(zhí)行的代碼塊。類似于存儲過程,觸發(fā)器與存儲過程的區(qū)別在于:存儲過程是由用戶或應(yīng)用程序顯式調(diào)用的,而觸發(fā)器是不能被直接調(diào)用的。功能:1、 允許/限制對表的修改2、 自動生成派生列,比如自增字段3、 強制數(shù)據(jù)一致性4、 提供審計和日志記錄5、 防止無效的事務(wù)處理6、 啟用復(fù)雜的業(yè)務(wù)邏輯觸發(fā)器觸發(fā)時間有兩種:after和before。1、觸發(fā)器的語法:CREATE OR REPLACE TIGGER觸發(fā)器名 觸發(fā)時間 觸發(fā)事件ON表名FOR EACH ROWBEGINpl/sql語句END其中:觸發(fā)器名:觸發(fā)器對
2、象的名稱。由于觸發(fā)器是數(shù)據(jù)庫自動執(zhí)行的,因此該名稱只是一個名稱,沒有實質(zhì)的用途。觸發(fā)時間:指明觸發(fā)器何時執(zhí)行,該值可?。篵efore-表示在數(shù)據(jù)庫動作之前觸發(fā)器執(zhí)行;after-表示在數(shù)據(jù)庫動作之后出發(fā)器執(zhí)行。觸發(fā)事件:指明哪些數(shù)據(jù)庫動作會觸發(fā)此觸發(fā)器: insert:數(shù)據(jù)庫插入會觸發(fā)此觸發(fā)器;Oracle觸發(fā)器語法(二) update:數(shù)據(jù)庫修改會觸發(fā)此觸發(fā)器; delete:數(shù)據(jù)庫刪除會觸發(fā)此觸發(fā)器。表 名:數(shù)據(jù)庫觸發(fā)器所在的表。for each row:對表的每一行觸發(fā)器執(zhí)行一次。如果沒有這一選項,則只對整個表執(zhí)行一次。2、舉例:下面的觸發(fā)器在更新表auths之前觸發(fā),目的是不允許在周末
3、修改表:createtriggerauth_securebeforeinsertorupdateordelete/對整表更新前觸發(fā) onauthsbeginif(to_char(sysdate,DY)=SUNRAISE_APPLICATION_ERROR(-20600,不能在周末修改表auths);endif;end例子:CREATEORREPLACETRIGGERCRM.T_SUB_USERINFO_AUR_NAMEAFTERUPDATEOFSTAFF_NAME ONCRM.T_SUB_USERINFOREFERENCINGOLDASOLDNEWASNEWFOREACHROWdeclareb
4、eginif:NEW.STAFF_NAME!=:OLD.STAFF_NAMEthenbegin 客戶投訴 updateT_COMPLAINT_MANAGEsetSERVE_NAME=:NEW.STAFF_NAMEwhereSERVE_SEED=:OLD.SEED; 客戶關(guān)懷 updateT_CUSTOMER_CAREsetEXECUTOR_NAME=:NEW.STAFF_NAME whereEXECUTOR_SEED=:OLD.SEED; 客戶服務(wù)updateT_CUSTOMER_SERVICEsetEXECUTOR_NAME=:NEW.STAFF_NAME whereEXECUTOR_SEE
5、D=:OLD.SEED;end;endif;endT_sub_userinfo_aur_name;/Oracle觸發(fā)器語法(三) 二 Oracle觸發(fā)器詳解開始: createtriggerbiufer_employees_department_id beforeinsertorupdateofdepartment_idonemployeesreferencingoldasold_valuenewasnew_valueforeachrowwhen(new_value.department_id80)begin:new_mission_pct:=0;end;/1、觸發(fā)器的組成部分:1、 觸發(fā)器名
6、稱2、 觸發(fā)語句3、 觸發(fā)器限制4、 觸發(fā)操作1.1、觸發(fā)器名稱 createtriggerbiufer_employees_department_id命名習(xí)慣: biufer(beforeinsertupdateforeachrow)employees表名department_id列名1.2、觸發(fā)語句比如:表或視圖上的DML語句DDL語句Oracle觸發(fā)器語法(四) 數(shù)據(jù)庫關(guān)閉或啟動,startup shutdown等等 beforeinsertorupdate ofdepartment_idonemployeesreferencingoldasold_valuenewasnew_value
7、foreachrow說明:1、 無論是否規(guī)定了department_id,對employees表進行insert的時候2、 對employees表的department_id列進行update的時候1.3、觸發(fā)器限制 when(new_value.department_id80)限制不是必須的。此例表示如果列department_id不等于80的時候,觸發(fā)器就會執(zhí)行。其中的new_value是代表更新之后的值。1.4、觸發(fā)操作是觸發(fā)器的主體begin :new_mission_pct:=0;end;主體很簡單,就是將更新后的commission_pct列置為0觸發(fā):insertintoemployees(employee_id,last_name,first_name,hire_date,job_id,email, department_id,salary,commission_pct)values(12345,Chen,Donny,sys
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030池塘撇油機行業(yè)市場深度研究與戰(zhàn)略咨詢分析報告
- 江西鳳凰高級技工學(xué)校招聘真題
- 博樂市融媒體中心招聘考試真題2024
- 2025至2030草本植物飲料行業(yè)市場占有率及投資前景評估規(guī)劃報告
- 法規(guī)對家電產(chǎn)品能源效率的分級標(biāo)準(zhǔn)考核試卷
- 高一優(yōu)化方案數(shù)學(xué)試卷
- 企業(yè)質(zhì)量管理與運營效率的關(guān)系考核試卷
- 高中選修2數(shù)學(xué)試卷
- 高考新疆一模數(shù)學(xué)試卷
- 理賠技術(shù)創(chuàng)新與應(yīng)用考核試卷
- 2024年6月新疆高中學(xué)業(yè)水平考試歷史試卷真題(含答案詳解)
- 2025-2030中國硫酸鋇行業(yè)發(fā)展?fàn)顩r及前景策略研究報告
- 運動課跳房子課件
- 茅臺白酒釀造培訓(xùn)課件
- 造影劑過敏急救處理規(guī)范
- (2025.06.12)領(lǐng)導(dǎo)干部任前應(yīng)知應(yīng)會黨內(nèi)法規(guī)和法律知識考試題庫(2025年度)
- 2025年中國郵政集團有限公司遼寧省分公司校園招聘筆試備考試題及完整答案詳解1套
- 2025年高考北京卷化學(xué)高考真題+答案(參考版)
- 醫(yī)用光學(xué)技術(shù)和儀器使用
- 多災(zāi)種耦合應(yīng)對-洞察及研究
- 南昌職業(yè)大學(xué)《影視配音創(chuàng)作》2023-2024學(xué)年第二學(xué)期期末試卷
評論
0/150
提交評論