10 定義並使用變數 標量型別

2021-09-02 13:53:43 字數 2293 閱讀 2638

定義:

在編寫pl/sql程式時,可以定義變數和常量;在pl/sql程式中包括有:

1)標量型別(scalar)

2)復合型別(composite)

3) 參照型別(reference)

4)lob(large object)

標量(scalar)---常用型別

在編寫pl/sql塊時,如果要使用變數,需在定義部分定義變數。

pl/sql中定義變數和常量的語法如下:

identifier [constant] datatype [not null] [:=| default exptr]

identifier:名稱

constant:指定常量,需要指定它的初始值,且其值是不能改變的

datatype:資料型別

not null:指定變數值不能為null

:= 給變數或是常量指定初始值

default:用於指定初始值

expr:指定初始值的pl/sql表示式,可以是文字值、其它變數、函式等

標量定義的案例

1)定義乙個變長字串

v_ename varchar2(10);

2)定義乙個小數 範圍 -9999.99——9999.99

v_sal number(6,2);

3)定義乙個小數並給乙個初始值為5.4 :=是pl/sql的賦值號

v_sal2 number(6,2):=5.4

4)定義乙個日期型別的資料

v_hiredate date;

5)定義乙個布林變數,不能為空,初始值為false

v_valid  boolean not null default false;

標量(scalar)---使用標量

在定義好變數後,就可以使用這些變數。這裡需要說明的是pl/sql塊為變數賦值不同於其它的程式語言,需要在等號前加冒號(:=)

下面以輸入員工號,顯示雇員姓名、工資、個人所得稅(稅率為0.03)為例

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||' 實際工資:'||(v_sal-v_tax_sal));

end;

標量(scalar)---使用%type型別

對於上面的pl/sql塊有乙個問題:

就是如果員工的姓名超過了5字元的話,就會有錯誤,為了降低pl/sql程式的維護工作量,可以使用%type屬性來定義變數,這樣它會按照資料庫列的型別來確定你定義的變數的型別和長度。

使用方式: 識別符號名 表名.列名%type;

例子:--使用者名稱

v_ename emp.ename%type;

//意思就是定義的變數v_ename的型別和emp這個表的ename這個列的型別保持一致

例項:--下面以輸入員工號,顯示雇員姓名、工資、個人所得稅(稅率為0.03)為例

declare

--定義常量稅率並賦初值

c_tax_rate number(3,2):=0.03;

--定義變數

--使用者名稱

v_ename emp.ename%type;

--工資

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||' 實際工資:'||(v_sal-v_tax_sal));

end;

PL SQL基礎 定義並使用變數

介紹 在編寫pl sql程式時,可以定義變數和常量 在pl sql程式中包括有 標量型別 復合型別 參照型別 lob 標量 常用型別 在編寫pl sql塊時,如果要使用變數,需在定義部分定義變數。pl sql中定義變數和常量的語法如下 定義乙個變長字串 v ename varchar2 10 定義乙...

react 如何定義變數並使用

這裡面涉及到了 1 變數如何定義 2 變數如何進行改變 3 方法如何呼叫 都寫有詳細的注釋大家可詳細 適合剛學習react的新同學 class packaging extends react.component this.getnamedata 呼叫方法 定義方法 寫這個方法是為了給大家操作一下怎麼...

Python 變數,定義變數,變數型別

變數的定義.py 1.定義乙個變數記錄 qq 號碼。定義變數必須要有 賦值 沒有 表示使用變數,會報未定義的錯誤 qq number 1234567 2.定義乙個變數記錄 qq 密碼 qq password 123 如果希望通過直譯器的方式,輸出變數的內容,需要使用 print 函式 print q...