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集合不能直接对其进行查询。只能对其进行遍历。