ITPub博客

首页 > 数据库 > Oracle > BULK COLLECT

BULK COLLECT

原创 Oracle 作者:test_100 时间:2015-11-06 14:55:02 0 删除 编辑

点击(此处)折叠或打开

  1. DECLARE

  2.   TYPE emp_table_type IS TABLE OF emp%ROWTYPE INDEX BY BINARY_INTEGER;

  3.   v_emp_table emp_table_type;

  4. BEGIN

  5.   SELECT * BULK COLLECT
  6.     INTO v_emp_table
  7.     FROM emp
  8.    --WHERE deptno = &deptno
  9.    ;
  10.    forall i in v_emp_table.first..v_emp_table.last
  11.   update emp a
  12.     set a.ename = 'a - '--||i
  13.    where a.empno = v_emp_table(i).empno;
  14.    
  15.   /*FOR i IN 1 .. v_emp_table.COUNT LOOP
  16.  
  17.     dbms_output.put_line('EMPLOYEE_INFO:' || v_emp_table(i)
  18.                          .ename ||
  19.                          
  20.                          ',' || v_emp_table(i).job ||
  21.                          
  22.                          ',' || v_emp_table(i).hiredate);
  23.  
  24.   END LOOP;*/

  25. END;
  26. -------------------------------------------------------------------------

  27. DECLARE
  28.   CURSOR emps_cur IS
  29.     SELECT last_name
  30.       FROM plch_employees;

  31.   TYPE t_record IS RECORD(last_name plch_employees.last_name%TYPE);

  32.   TYPE t_type_tab IS TABLE OF t_record;
  33.   emp_rec t_type_tab;

  34. BEGIN

  35.   OPEN emps_cur;
  36.   FETCH emps_cur BULK COLLECT
  37.     INTO emp_rec;
  38.   CLOSE emps_cur;

  39.   FOR indx IN 1 .. emp_rec.COUNT LOOP
  40.     dbms_output.put_line(emp_rec(indx).last_name);
  41.   END LOOP;

  42. END


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7580948/viewspace-1824586/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 只有汉字
下一篇: 关于 %ROWTYPE
请登录后发表评论 登录
全部评论

注册时间:2011-10-30

  • 博文量
    30
  • 访问量
    25003