Oracle PL/SQL 程序设计读书笔记 - 第11章 记录类型

Oracle PL/SQL 程序设计读书笔记 - 第11章 记录类型

11.1 PL/SQL中的记录

11.1.2 声明记录

  • 基于表的记录类型:用表名加%ROWTYPE属性的个记录类型,该记录类型的每个字段都和表中的一列相互对应,同时具有相同的名字。

    DECLARE one_book books%ROWTYPE;

  • 基于游标的记录类型:可以对显示声明的游标或者游标变量加上%ROWTYPE的方法声明一个基于游标的记录类型,这个记录类型中的每一个字段都对应着游标的SELECT语句中的一列或者别名表达式

    DECLARE CURSOR mybookscur IS SELECT * FROM books ; oneSFbook mybookscur%ROWTYPE;

  • 程序员自定义的记录类型:TYPE...RECORD语句也可以定义记录类型,用这种方式时记录的每个字段都要在TYPE语句中明确的定义;自定义记录类型中的字段甚至可以是另一个记录类型。

    DECLARE TYPE bookinfort IS RECORD(author books.author%TYPE); stevenasauthor bookinfort;

11.1.3 程序员自定义的记录类型

  • 声明自定义的记录类型

    TYPE typename IS RECORD (fieldname1 datatype1 [ [NOT NULL] := | DEFAULT defaultvalue], fieldname2 datatype1 [ [NOT NULL] := | DEFAULT defaultvalue], ... fieldnameN datatype1 [ [NOT NULL] := | DEFAULT default_value] );

  • 声明记录

    recordname recordtype;