oracle plsql表用于存集多行数据.
在使用他之前必须先提供下标.
定义方法如下:
type type_name is table of element_type not null index by key_type;
举一个例子:
DECLARE
-- 定义表
TYPE MY_TABLE_TYPE IS TABLE OF TEST_HUI%ROWTYPE
NOT NULL INDEX BY BINARY_INTEGER;
MY_TABLE MY_TABLE_TYPE;
-- 定义游标
CURSOR COR IS SELECT * FROM TEST_HUI;
MY_RECORD TEST_HUI%ROWTYPE;
BEGIN
-- 使用前必须提供下标(有点类似JAVA的HASHMAP)
OPEN COR;
LOOP
FETCH COR INTO MY_RECORD;
EXIT WHEN COR%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(MY_RECORD.ID);
DBMS_OUTPUT.PUT_LINE(MY_RECORD.VALUE);
-- 放入到集合
MY_TABLE(MY_RECORD.ID):=MY_RECORD;
DBMS_OUTPUT.PUT_LINE('集合中-->'||MY_TABLE(MY_RECORD.ID).ID);
DBMS_OUTPUT.PUT_LINE('集合中-->'||MY_TABLE(MY_RECORD.ID).VALUE);
END LOOP;
CLOSE COR;
END;