千家信息网

PL/SQL 声明

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,一、命名规范命名方法命名方法适用UserPrivilege适合英文比较好,并且喜欢抑扬顿挫和有艺术美感的人userprivilege适合那些英文好,且比较严谨的人tbl_user_prifilege适
千家信息网最后更新 2024年09月21日PL/SQL 声明

一、命名规范

  • 命名方法

    命名方法
    适用
    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; ……    --访问的时候用
0