PL/SQL 声明
命名方法
不使用关键字
可以参考如下查询结果
SELECT*FROMV$RESERVED_WORDSWHERERESERVED='Y';
长度
1~30个字符
语法:常量名 constant 数据类型标识符 [not null] := 值
例子:
i_countconstantIntnotnull:=200--定义常量i_count,值为200;三、定义基本数据类型变量
语法:变量名 类型标识符 [not null] := 值
例子:
sexBooleannotnull:=0;--定义变量sex值为0;四、使用%TYPE定义变量
这个型式是为了让变量的数据类型与表中的数据类型一致的,定义好以后,表中的数据类型改变,这个变量的数据类型也同时改变;
语法:变量名 用户名.表名.字段名%TYPE;
例子:
sexSCOTT.Tdetails.SEX%TYPE;--sex变量就与scott用户下的Tdetails表中的sex字段的类型一致;五、记录类型变量
记录类型是把逻辑相关的数据作为一个单元存储起来,它必须包括至少一个标量型或RECORD 数据类型的成员,称作PL/SQL RECORD 的域(FIELD),其作用是存放互不相同但逻辑相关的信息。
语法:
TYPE变量名ISRECORD( 变量名1基本数据类型, 变量名2基本数据类型,……);
例子:
TYPEtRecordsISRECORD( Namevarchar2, SexBoolean); ttttRecords;--使用这个变量的的方法 Selectname,sexintotttfromclassuser;--这样就把classuser表里的数据放到变量ttt中了.六、使用%ROWTYPE定义变量
使定义的变量的子变量的类型与表中对应的字段的数据类型一致。
语法:变量名 用户名.表名%TYPE;
例子:
DECLARE to_recordstdetails%ROWTYPE;BEGIN SELECT*INTOto_recordsFROMtdetailswheretype='pay'; DBMS_OUTPUT.PUT_LINE(to_records.object||''||toRecords.money||''||toRecords.payDate);END;七、定义一维表类型数据
相当于一维数组
语法:TYPE 表类型 IS TABLE OF 类型 INDEX BY BINARY_INTEGER;
例子:
TYPEscoreISTABLEOFINT(3)INDEXBYBINARY_INTEGER;--定义了一个整数数组容量为3;score(1)=1;score(2)=2;……--访问的时候用
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。