Oracle中IS TABLE OF的使用

逃离我推掉我的手 2021-09-12 05:48 408阅读 0赞

IS TABLE OF :指定是一个集合的表的数组类型,简单的来说就是一个可以存储一列多行的数据类型。

INDEX BY BINARY_INTEGER:指索引组织类型

BULK COLLECT :指是一个成批聚合类型,简单的来说 , 它可以存储一个多行多列存储类型,采用BULK COLLECT可以将查询结果一次性地加载到集合中。

【实例】在SCOTT模式下,使用IS TABLE OF获取所有员工的姓名,职务,工资信息。

  1. declare
  2. type type_ename is table of emp.ename%type;
  3. type type_job is table of emp.job%type;
  4. type type_sal is table of emp.sal%type;
  5. var_ename type_ename:=type_ename();
  6. var_job type_job:=type_job();
  7. var_sal type_sal:=type_sal();
  8. begin
  9. select ename,job,sal
  10. bulk collect into var_ename,var_job,var_sal
  11. from emp;
  12. /*输出雇员信息*/
  13. for v_index in var_ename.first .. var_ename.last loop
  14. dbms_output.put_line('雇员名称:'||var_ename(v_index)||' 职务:'||var_job(v_index)||' 工资:'||var_sal(v_index));
  15. end loop;
  16. end;

【实例】在SCOTT模式下,使用IS TABLE OF获取所有员工的所有信息。

  1. declare
  2. type emp_table_type is table of emp%rowtype index by binary_integer;
  3. var_emp_table emp_table_type;
  4. begin
  5. select *
  6. bulk collect into var_emp_table
  7. from emp;
  8. /*输出雇员信息*/
  9. for i in 1..var_emp_table.COUNT loop
  10. dbms_output.put_line('雇员名称:'||var_emp_table(i).ename||' 职务:'||var_emp_table(i).job||' 工资:'||var_emp_table(i).sal);
  11. end loop;
  12. end;

发表评论

表情:
评论列表 (有 0 条评论,408人围观)

还没有评论,来说两句吧...

相关阅读