oracle数据库系统账号密码PL/SQL记录的使用

PL/SQL 中可以使用 %ROWTYPE 作为一张表的行作为数就类型,%TYPE 可以作为某字段作为数据类型,但需要指定的若干个字段作为一个数据类型,就可以使用 PL/SQL 记录实现。

 

PL/SQL 记录的定义语法:

Sql代码  

TYPE type_name is RECORD(  

  filed_declaration[,  

  filed_declaration,  

  …    www.2cto.com  

  filed_declaration]  

);  

identifier type_name  

 

使用 PL/SQL 记录:

Sql代码  

declare  

  –定义  

  TYPE nemp_record_type IS RECORD(  

    nno scott.emp.empno%TYPE,  

    nname oracle账号scott.emp.ename%TYPE,  

    ndept scott.dept%ROWTYPE  

  );  

  nemp_record nemp_record_type;  

  eno number:=7788;  

begin    www.2cto.com  

  –将查询的结果赋给定义的 nemp_record,若 dept.* 一起赋值,则列数过多,无法赋值   

  SELECT e.empno,e.ename into nemp_record.nno,nemp_record.nname  

    from scott.emp e, scott.dept d  WHERE e.deptno=d.deptno AND e.empno=eno;  

  SELECT * into nemp_record.ndept from scott.dept where deptno = (  

    select deptno from scott.emp where empno = eno  

  );  

  dbms_output.put_line(nemp_record.ndept.dname);    –输出:RESEARCH  

end;  

 

 

 

摘自 Ear's blog

此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。