集合与记录

集合与记录都属于PL/SQL的复合类型,集合允许将类型相同的多个变量当作一个整体进行处理,类似于Java或C语言中的数组,记录允许将多个不同类型的变量当作一个整体进行处理。

使用记录类型获取员工信息

declare
  --定义记录类型
  TYPE emp_info type is record(
      empname varchar2(10),
      job varchar(9),
      sal number(7,2) 
  );
  --声明记录类型的变量
  empinfo emp_info_type;
begin
  --查询数据并保存到记录类型中
  select ename,
        job,
        sal
    into empinfo
    from emp
   where empno=&empno;
   --输出记录类型变量中保存的员工信息
   dbms_output.put_line('员工信息为:员工姓名:'
                      ||empinfo.empname
                      ||'职位:'
                      ||empinfo.job
                      ||'薪资:'
                      ||empinfo.sal 
   );

记录类型允许同时处理单行多列的数据,PL/SQL的集合允许同时处理多行单列的数据。

集合类似与数组,PL/SQL提供了如下3种集合类型。

1、关联表

2、嵌套表

3、变长数组

使用游标和索引表显示员工名称

declare
  --定义员工名称索引表
  TYPE emp_table is table of varchar2(10)
      index by binary_integer;
  emplist emp_table;                   --定义表类型的变量
  --定义游标类型
  cusor empcursor
  is 
    select ename
    from emp;
begin
  --如果游标没有打开,则打开游标
  if not empcursor%IEOPEN
  THEN
    OPEN empcursor;
  end if;
  --从游标结果中提取所有的员工名称
  fetch empcursor 
  bulk collect into emplist;
  --使用for循环显示所有的员工名称
  for i in 1..emplist.count
    loop
      dbms_output.put_line('员工名称:'||emplist(i));
    end loop;
    close empcursor;                   --关闭游标
end;
/

猜你喜欢

转载自blog.csdn.net/fei_yanzi/article/details/88895272