温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PL/SQL 声明

发布时间:2020-08-10 17:12:35 来源:ITPUB博客 阅读:154 作者:Ryan_Bai 栏目:关系型数据库

一、命名规范

  • 命名方法

    命名方法
    适用
    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; ……    --访问的时候用
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI