觸發器和pl sql資料型別 標量

2021-06-16 06:37:59 字數 1153 閱讀 4407

觸發器是指隱含執行的儲存過程,當定義觸發器時必須指定觸發的事件和觸發的操作,常用的觸發事件包括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塊。觸發器在資料庫裡以獨立的物件儲存,它與儲存物件不同的是,儲存過程通過其他程式來啟動執行或直接啟動執行,而觸發器是由乙個事件來啟動執行。即觸發器是當某個事件發生時自動地...