觸發器是指隱含執行的儲存過程,當定義觸發器時必須指定觸發的事件和觸發的操作,常用的觸發事件包括insert、update、delete等
pl/sql資料型別從大的方面來講主要分四種:
①標量型別(scalar)
②復合型別(composite)
③參照型別(reference)
④lob型別(large object)
定義標量的案例
--定義乙個變長字串
v_ename varchar2(10);
--定義乙個小數,範圍是,-9999.99-9999.99
v_sal number(6,2);
--定義乙個小數並給乙個初始值5.4,注意:=是pl/sql的賦值符號
v_sal number(6,2):=5.4;
--定義乙個日期型別的資料
v_hiredate date;
--定義乙個布林變數,指定不能為空
v_valid boolean not null default false;
(3)下面是乙個使用標量的例子
--輸入員工工號,計算個人所得稅並輸出
declare
c_tax_rate number(3,2):=0.03;
--使用者名稱
v_ename varchar2(5);
v_sal number(7,2);
v_tax_sal number(7,2);
begin
--執行部分
select ename,sal into v_ename,v_sal from emp
where empno=&no;
--計算個人所得稅
v_tax_sal:=v_sal*c_tax_rate;
--輸出
dbms_output.put_line('姓名是:'||v_ename||',工資:'||v_sal||',個人所得稅:'||v_tax_sal);
end;
/需要注意的是:以上**我是放在命令列下執行,所以才加了乙個斜槓,命令執行後如果沒有輸出的話
需要在命令列上加一條命令就是:set serveroutput on;/*表示開啟命令列的輸出開關*/
如果這段**是在視覺化視窗中編寫時只需要編譯執行通過,然後選擇(test)測試做完測試沒錯就行了。
PLSQL 除錯觸發器
在plsql裡是可以除錯觸發器的,相信有一部分人可能不清楚這個。以前我一直使用sql server,哈哈,養成了乙個根深蒂固的觀念,以為oracle裡觸發器也是不能除錯的,其實sqlserver裡面也是可以除錯的 寫這個的時候特意 在網上查詢了下資料 好了,為了形象說明,下面列舉個例子,如下圖所示,...
PL SQL學習筆記 觸發器
一 語句級觸發器 語句級觸發器是指當執行dml操作時,以語句為單位執行的觸發器 注意與下面提到的行級觸發器比較 先看 create or replace trigger xland trigger before insert or update or delete on labor.xland be...
PL SQL程式設計(七) 觸發器
觸發器是許多關係資料庫系統都提供的一項技術。在oracle系統中,觸發器類似過程和函式,都有宣告,執行和異常吃力過程的pl sql塊。觸發器在資料庫裡以獨立的物件儲存,它與儲存物件不同的是,儲存過程通過其他程式來啟動執行或直接啟動執行,而觸發器是由乙個事件來啟動執行。即觸發器是當某個事件發生時自動地...