复合类型

来源:互联网 发布:液压系统计算软件 编辑:程序博客网 时间:2024/04/29 17:56

复合类型

复合变量    

    复合变量可以将不同的数据类型的多个值存储在一个单元中.由于复合数据类型可以有用户根据需要定义其结构,所以复合数据类型也称为自定义数据类型。

PL/SQL提供了两种类型的复合数据类型:

    记录类型

       在记录类型中可以存储多个标量值,与数据库中的行相似

    记录表类型

        允许用户在程序代码中使用”表”,以便存储多个行的数据。它只在程序运行期间有                              效。类似于程序代码中集合|数组。

   必须使用TYPE语句定义记录类型的语法声明如下:

TYPE record_name is record(

Field_name data_type[not null, :=default value]

………

);

     

与%Rowtype不同之处是

   1、%rowtype查询的是全部数据

   2、记录类型必须使用type语法格式声明

//案例

SQL> declare

  2     type empinfo is record(  //声明一个记录类型

  3       empno number(4),

  4       ename varchar2(10),

  5       job  varchar2(9)

  6     );

  7  

  8   emp_data  empinfo; //声明一个记录类型的变量

  9  begin

 10    select empno,ename,job into emp_data from emp where empno=7369; //查询的结果赋值给定义的变量

 11    dbms_output.put_line(emp_data.empno||'/'||emp_data.ename||'/'||emp_data.job);

 12  end;

 13  /