设为首页 加入收藏

TOP

ORACLE中RECORD、VARRAY、TABLE的使用详解(二)
2015-07-24 11:18:00 来源: 作者: 【 】 浏览:4
Tags:ORACLE RECORD VARRAY TABLE 使用 详解
E('输出1:' || V_ORG_TABLE(1) || '、'|| V_ORG_TABLE(2) || '、'|| V_ORG_TABLE(3) || '、'|| V_ORG_TABLE(4)); DBMS_OUTPUT.PUT_LINE('输出2:' || V_ORG_TABLE(5)); END;
2.4.2 存储多列多行和ROWTYPE结合使用

采用bulkcollect可以将查询结果一次性地加载到collections中。而不是通过cursor一条一条地处理。

DECLARE 
   TYPE T_TYPE IS TABLE OF SF_ORG%ROWTYPE;
   V_TYPE  T_TYPE;
 BEGIN
    SELECT ORG_ID,ORG_NAME,PARENT_ID BULK COLLECT INTO V_TYPE
    FROM SF_ORG
    WHERE SF_ORG.ORG_ID <= 3;

    FOR V_INDEX IN V_TYPE.FIRST .. V_TYPE.LAST LOOP
        DBMS_OUTPUT.PUT_LINE(V_TYPE(V_INDEX).C1 || ' ' || V_TYPE(V_INDEX).C2);
    END LOOP;
 END;?
2.4.3 存储多列多行和RECORD结合使用

采用bulkcollect可以将查询结果一次性地加载到collections中。而不是通过cursor一条一条地处理。

DECLARE 
   TYPE TEST_EMP IS RECORD
   (
    C1 SF_ORG.ORG_NAME%TYPE,
    C2 SF_ORG.PARENT_ID%TYPE
   );   
   TYPE T_TYPE IS TABLE OF TEST_EMP;
   V_TYPE  T_TYPE;
 BEGIN
    SELECT ORG_NAME,  PARENT_ID BULK COLLECT INTO V_TYPE
    FROM SF_ORG
    WHERE SF_ORG.ORG_ID <= 3;

    FOR V_INDEX IN V_TYPE.FIRST .. V_TYPE.LAST LOOP
        DBMS_OUTPUT.PUT_LINE(V_TYPE(V_INDEX).C1 || ' ' || V_TYPE(V_INDEX).C2);
    END LOOP;
 END;

3 问题

VARRAY和TABLE集合不能直接对其进行查询。只能对其进行遍历。

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle阻塞(blockingblocked) 下一篇Oracle中的触发器

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·MySQL 安装及连接-腾 (2025-12-25 06:20:28)
·MySQL的下载、安装、 (2025-12-25 06:20:26)
·MySQL 中文网:探索 (2025-12-25 06:20:23)
·Shell脚本:Linux Sh (2025-12-25 05:50:11)
·VMware虚拟机安装Lin (2025-12-25 05:50:08)