您好,登錄后才能下訂單哦!
-----------------------------------基本數(shù)據(jù)類(lèi)型-----------------------------------
1.數(shù)值類(lèi)型
NUMBER(P,S)
參數(shù) P 表示精度,參數(shù) S 表示刻度范圍。
精度是指數(shù)值中所有有效數(shù)字的個(gè)數(shù),而刻度范圍是指小數(shù)點(diǎn)右邊小數(shù)位的個(gè)數(shù)。
“子類(lèi)型” 是與 NUMBER 等價(jià)的類(lèi)型別名。
子類(lèi)型:DEC、DECIMAL、DOUBLE、INTEGER、INT、NUMERIC、SMALLINT、BINARY_INTEGER、PLS_INTEGER
2.字符類(lèi)型
字符類(lèi)型:VARCHAR2、CHAR、LONG、NCHAR、NVARCHAR2
這些類(lèi)型的變量 用來(lái)存儲(chǔ)字符串或字符數(shù)據(jù)。
VARCHAR2(maxlength)
參數(shù) maxlength 表示可以存儲(chǔ)字符串的最大長(zhǎng)度,這參數(shù)值在定義變量時(shí)必須給出(因?yàn)?VARCHAR2 類(lèi)型沒(méi)有默認(rèn)的最大長(zhǎng)度),
參數(shù) maxlength 的最大值可以是 32767 字節(jié)。
CHAR(maxlength)
參數(shù) maxlength 的最大值可以是 32767 字節(jié).
CHAR 類(lèi)型默認(rèn)最大長(zhǎng)度為 1 字節(jié)。如果賦給 CHAR 類(lèi)型變量的值不足 maxlength,則在其后邊用 空格 補(bǔ)全。
3.日期類(lèi)型
DATE
4.布爾類(lèi)型
BOOLEAN
其變量值可以為 TRUE、FALSE、NULL 中的一種。
-----------------------------------特殊數(shù)據(jù)類(lèi)型-----------------------------------
1. %TYPE 類(lèi)型
使用 %TYPE 關(guān)鍵字可以聲明一個(gè)與 指定列名稱(chēng)相同的數(shù)據(jù)類(lèi)型,它通常緊跟在指定列的后邊。
例:
聲明一個(gè)與 emp 表中 job 列的數(shù)據(jù)類(lèi)型完全相同的變量 var_job
declare var_job emp.job%TYPE;
2. RECORD 類(lèi)型,也叫“記錄類(lèi)型”
type record_type is record ( var_member1 data_type [not null][:=default_value], ... var_membern data_type [not null][:=default_value])
record_type:表示要定義的記錄類(lèi)型名稱(chēng)。
var_member1:表示該記錄類(lèi)型的成員變量名稱(chēng)。
data_type:表示成員變量的數(shù)據(jù)類(lèi)型。
例:
聲明一個(gè)記錄類(lèi)型 emp_type,然后使用該類(lèi)型的變量存儲(chǔ) emp 表中的一條記錄信息,并輸出這條記錄。
declare type emp_type is record--聲明 record 類(lèi)型 emp_type ( var_ename varchar2(20),--定義字段/成員變量 var_job varchar2(20), var_sal number ); empinfo emp_type;--定義變量 begin select ename,job,sal into empinfo from emp where empno=7369; /*輸出雇員信息*/ dbms_output.put_line('雇員'||empinfo.var_ename||'的職務(wù)是'||empinfo.var_job||'、工資是'||empinfo.var_sal); end; /
輸出結(jié)果:
雇員SMITH的職務(wù)是CLERK、工資是2712.5
3. %ROWTYPE 類(lèi)型
%ROWTYPE 類(lèi)型的變量結(jié)合了 %TYPE 類(lèi)型和 RECORD 類(lèi)型變量的優(yōu)點(diǎn),它可以根據(jù)數(shù)據(jù)表中行的結(jié)構(gòu)定義一種
特殊的數(shù)據(jù)類(lèi)型,用來(lái)存儲(chǔ)從數(shù)據(jù)表中檢索到的一行數(shù)據(jù)。
rowVar_name table_name%rowtype;
rowVar_name:表示可以存儲(chǔ)一行數(shù)據(jù)的變量名。
table_name:指定的表名。
例:
聲明一個(gè) %ROWTYPE 類(lèi)型的變量 rowVar_emp,然后使用該變量存儲(chǔ) emp 表中的一行數(shù)據(jù),并輸出。
declare rowVar_emp emp%rowtype;--定義能夠存儲(chǔ) emp 表一行數(shù)據(jù)的變量 begin select * into rowVar_emp from emp where empno=7369; /*輸出雇員信息*/ dbms_output.put_line('雇員'||rowVar_emp.var_ename||'的職務(wù)是'||rowVar_emp.var_job||'、工資是'||rowVar_emp.var_sal); end; /
輸出結(jié)果:
雇員SMITH的職務(wù)是CLERK、工資是2712.5
-----------------------------------定義變量和常量-----------------------------------
1. 定義變量
<變量名> <數(shù)據(jù)類(lèi)型> [(長(zhǎng)度):=<初始值>];
例:
var_countryname varchar2(50):='中國(guó)';
2. 定義常量
<常量名> constant <數(shù)據(jù)類(lèi)型>:=<常量值>;
例:
con_day constant integer:=365;
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。