看看这个例子 怎么样CREATE OR REPLACE PACKAGE TEMP_TEST IS TYPE TEMP_RECORD IS RECORD( COL1 NUMBER, COL2 DATE); -- DEFINE TABLE TYPE TYPE TEMP_TABLE IS TABLE OF TEMP_RECORD INDEX BY BINARY_INTEGER; PROCEDURE PRO_TEMP(P_NUM IN NUMBER, P_TABLE OUT TEMP_TABLE); END TEMP_TEST; / CREATE OR REPLACE PACKAGE BODY TEMP_TEST IS PROCEDURE PRO_TEMP(P_NUM IN NUMBER, P_TABLE OUT TEMP_TABLE) IS X_INDEX NUMBER; BEGIN P_TABLE(0).COL1 := 0; FOR X_I IN 1..P_NUM LOOP X_INDEX := P_TABLE.LAST; P_TABLE(X_INDEX + X_I).COL1 := X_I; P_TABLE(X_INDEX + X_I).COL2 := SYSDATE + X_I; END LOOP; END PRO_TEMP; END TEMP_TEST; /
IS
TYPE TEMP_RECORD IS RECORD(
COL1 NUMBER,
COL2 DATE);
-- DEFINE TABLE TYPE
TYPE TEMP_TABLE IS TABLE OF TEMP_RECORD INDEX BY BINARY_INTEGER; PROCEDURE PRO_TEMP(P_NUM IN NUMBER,
P_TABLE OUT TEMP_TABLE);
END TEMP_TEST;
/
CREATE OR REPLACE PACKAGE BODY TEMP_TEST
IS
PROCEDURE PRO_TEMP(P_NUM IN NUMBER,
P_TABLE OUT TEMP_TABLE)
IS
X_INDEX NUMBER;
BEGIN
P_TABLE(0).COL1 := 0;
FOR X_I IN 1..P_NUM LOOP
X_INDEX := P_TABLE.LAST;
P_TABLE(X_INDEX + X_I).COL1 := X_I;
P_TABLE(X_INDEX + X_I).COL2 := SYSDATE + X_I;
END LOOP;
END PRO_TEMP;
END TEMP_TEST;
/