-----------------------------------基本數據類型-----------------------------------sql
1.數值類型ide
NUMBER(P,S)
參數 P 表示精度,參數 S 表示刻度範圍。spa
精度是指數值中全部有效數字的個數,而刻度範圍是指小數點右邊小數位的個數。字符串
「子類型」 是與 NUMBER 等價的類型別名。it
子類型:DEC、DECIMAL、DOUBLE、INTEGER、INT、NUMERIC、SMALLINT、BINARY_INTEGER、PLS_INTEGER
2.字符類型table
字符類型:VARCHAR二、CHAR、LONG、NCHAR、NVARCHAR2
這些類型的變量 用來存儲字符串或字符數據。class
VARCHAR2(maxlength)
參數 maxlength 表示能夠存儲字符串的最大長度,這參數值在定義變量時必須給出(由於 VARCHAR2 類型沒有默認的最大長度),變量
參數 maxlength 的最大值能夠是 32767 字節。select
CHAR(maxlength)
參數 maxlength 的最大值能夠是 32767 字節.數據類型
CHAR 類型默認最大長度爲 1 字節。若是賦給 CHAR 類型變量的值不足 maxlength,則在其後邊用 空格 補全。
3.日期類型
DATE
4.布爾類型
BOOLEAN
其變量值能夠爲 TRUE、FALSE、NULL 中的一種。
-----------------------------------特殊數據類型-----------------------------------
1. %TYPE 類型
使用 %TYPE 關鍵字能夠聲明一個與 指定列名稱相同的數據類型,它一般緊跟在指定列的後邊。
例:
聲明一個與 emp 表中 job 列的數據類型徹底相同的變量 var_job
declare var_job emp.job%TYPE;
2. RECORD 類型,也叫「記錄類型」
type record_type is record ( var_member1 data_type [not null][:=default_value], ... var_membern data_type [not null][:=default_value])
record_type:表示要定義的記錄類型名稱。
var_member1:表示該記錄類型的成員變量名稱。
data_type:表示成員變量的數據類型。
例:
聲明一個記錄類型 emp_type,而後使用該類型的變量存儲 emp 表中的一條記錄信息,並輸出這條記錄。
declare type emp_type is record--聲明 record 類型 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||'的職務是'||empinfo.var_job||'、工資是'||empinfo.var_sal); end; /
輸出結果:
僱員SMITH的職務是CLERK、工資是2712.5
3. %ROWTYPE 類型
%ROWTYPE 類型的變量結合了 %TYPE 類型和 RECORD 類型變量的優勢,它能夠根據數據表中行的結構定義一種
特殊的數據類型,用來存儲從數據表中檢索到的一行數據。
rowVar_name table_name%rowtype;
rowVar_name:表示能夠存儲一行數據的變量名。
table_name:指定的表名。
例:
聲明一個 %ROWTYPE 類型的變量 rowVar_emp,而後使用該變量存儲 emp 表中的一行數據,並輸出。
declare rowVar_emp emp%rowtype;--定義可以存儲 emp 表一行數據的變量 begin select * into rowVar_emp from emp where empno=7369; /*輸出僱員信息*/ dbms_output.put_line('僱員'||rowVar_emp.var_ename||'的職務是'||rowVar_emp.var_job||'、工資是'||rowVar_emp.var_sal); end; /
輸出結果:
僱員SMITH的職務是CLERK、工資是2712.5
-----------------------------------定義變量和常量-----------------------------------
1. 定義變量
<變量名> <數據類型> [(長度):=<初始值>];
例:
var_countryname varchar2(50):='中國';
2. 定義常量
<常量名> constant <數據類型>:=<常量值>;
例:
con_day constant integer:=365;