ITPub博客

首页 > Linux操作系统 > Linux操作系统 > PLSQL Bulk collect-Forall用法

PLSQL Bulk collect-Forall用法

原创 Linux操作系统 作者:Farmor 时间:2011-04-15 16:08:34 0 删除 编辑
  --   CREATE TABLE cux_vendor (vendor_id NUMBER,vendor_name VARCHAR2(240));
  PROCEDURE bulk_collect IS
    TYPE l_vendor_id_tab IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
    TYPE l_vendor_name_tab IS TABLE OF VARCHAR2(240) INDEX BY BINARY_INTEGER;
    v_vendor_id   l_vendor_id_tab;
    v_vendor_name l_vendor_name_tab;
 
  BEGIN
    SELECT pv.vendor_id, pv.vendor_name BULK COLLECT
      INTO v_vendor_id, v_vendor_name
      FROM po_vendors pv
     WHERE pv.vendor_id <= 500;
    IF v_vendor_id.count <> 0
    THEN
      FORALL i IN 1 .. v_vendor_id.count
        INSERT INTO cux_vendor (vendor_id, vendor_name) VALUES (v_vendor_id(i), v_vendor_name(i));
    END IF;
  END;

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

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2011-04-13

  • 博文量
    22
  • 访问量
    28368