定義部分主要定義變量和常量,語法如下:
DECLARE
virableName [CONSTANT] dataType [NOT NULL][:=|default exp or value];
在給變量或者常量命名時應該遵循以下原則:
1、變量名只能字母開頭,其它位可以包含_、$、#和數字
2、長度1-30
3、不區分大小寫
4、不能是系統關鍵字
CONSTANT關鍵字表示定義常量,常量定義時必須給出初始值,而且值不能再更改。
dataType處是數據類型,要注意此處的數據類型是PL/SQL數據類型,並非定義表使用的SQL數據類型。
NOT NULL 表示變量或者常量不允許為NULL,而且在定義時就必須提供非NULL初始值。
以下代碼代碼定義了變量和常量:
DECLARE
credit_limit CONSTANT NUMBER :=5000;--常量
invalid BOOLEAN := FALSE;--布爾類型變量
acct_id INTEGER(4) NOT NULL default 9999;--必須附初值的變量
pi CONSTANT REAL := 3.14159;--浮點數常量
postal_code VARCHAR2(20);--與VARCHAR2(20 BYTE)同義
last_name VARCHAR2(20 CHAR);--變量
my_ename emp.ename%TYPE;--與emp表的ename列數據類型相同
PL/SQL數據類型分為四種,標量類型、復合類型、參照類型和LOB類型。
一、標量類型
標量類型的含義是存放單個值。標量類型中又分為整形、數字、字符、日期和布爾等類型。
1、BINARY_INTEGER
范圍是從-231--231的整數,如果將浮點數賦值給該類型,浮點數將四捨五入成整數再賦值給該類型。另外該類型還有下列幾個子類型:
NATURAL 0-231范圍的整數
POSITIVE 1-231范圍的整數
NATURALN 不允許NULL值,其它同NATURAL
POSITIVEN 不允許NULL值,其它同POSITIVE
SIGNTYPE 符號類型,只允許三個值-1 0 1三個值
注意:BINARY_INTEGER及其子類型是PL/SQL數據類型,而非SQL數據類型,也就是說,在創建表時不能使用。