PL/SQL 声明

来源:这里教程网 时间:2026-03-03 14:32:26 作者:

一、命名规范

命名方法

命名方法 适用
UserPrivilege 适合英文比较好,并且喜欢抑扬顿挫和有艺术美感的人
userprivilege 适合那些英文好,且比较严谨的人
tbl_user_prifilege 适合那些做开发的人(本人常用的命名规范)
yhqx 热爱中文的人

不使用关键字 可以参考如下查询结果

SELECT * FROM V$RESERVED_WORDS WHERE RESERVED='Y';

长度 1~30个字符

二、定义常量

语法:常量名 constant 数据类型标识符 [not null] := 值

例子:

i_count constant Int not null:=200      --定义常量i_count,值为200;

三、定义基本数据类型变量

语法:变量名 类型标识符 [not null] := 值

例子:

sex Boolean not null :=0;                     --定义变量sex 值为0;

四、使用%TYPE定义变量

这个型式是为了让变量的数据类型与表中的数据类型一致的,定义好以后,表中的数据类型改变,这个变量的数据类型也同时改变;

语法:变量名 用户名.表名.字段名%TYPE;

例子:

sex SCOTT.Tdetails.SEX%TYPE;       --sex变量就与scott用户下的Tdetails表中的sex字段的类型一致;

五、记录类型变量

记录类型是把逻辑相关的数据作为一个单元存储起来,它必须包括至少一个标量型或RECORD 数据类型的成员,称作PL/SQL RECORD 的域(FIELD),其作用是存放互不相同但逻辑相关的信息。

语法:

TYPE 变量名 IS RECORD(
   变量名1 基本数据类型,
   变量名2 基本数据类型,……);

例子:

TYPE tRecords IS RECORD(  
   Name varchar2,  
   Sex Boolean);  
   ttt tRecords;    --使用这个变量的的方法
   
Select name,sex into ttt from classuser;    --这样就把classuser表里的数据放到变量ttt中了.

六、使用%ROWTYPE定义变量

使定义的变量的子变量的类型与表中对应的字段的数据类型一致。

语法:变量名 用户名.表名%TYPE;

例子:

DECLARE  
  to_records tdetails%ROWTYPE;  
BEGIN  
  SELECT * INTO to_records FROM tdetails where type='pay';  
  DBMS_OUTPUT.PUT_LINE(to_records.object||' '||toRecords.money||' '||toRecords.payDate);  
END;

七、定义一维表类型数据

相当于一维数组

语法:TYPE 表类型 IS TABLE OF 类型 INDEX BY BINARY_INTEGER;

例子:

TYPE score IS TABLE OF INT(3) INDEX BY BINARY_INTEGER;    --定义了一个整数数组容量为3;  
score(1)=1;score(2)=2; ……    --访问的时候用

相关推荐