CREATE TYPE PERSON IS VARRAY(4) OF VARCHAR2(30);
/
CREATE TYPE PERSON_ARRAY IS VARRAY(4) OF PERSON;
/
CREATE OR REPLACE PACKAGE BODY TEST
AS
FUNCTION MAIN (BODY1 IN VARCHAR2,
BODY2 IN VARCHAR2,
BODY3 IN VARCHAR2)
RETURN PERSON_ARRAY
IS
BEGIN
RETURN PERSON_ARRAY(PERSON(BODY1, BODY1, BODY1, to_char(sysdate)), PERSON(BODY2, BODY2, to_char(sysdate), BODY2), PERSON(BODY3, to_char(sysdate), BODY3, BODY3), PERSON(to_char(sysdate), BODY1, BODY1, BODY1));
END MAIN;
END TEST;
/
實行后就報錯
uj5u.com熱心網友回復:
-- 樓主是不是沒有定義包頭,或包頭寫有的問題
-- 這是你的代碼,我簡單的改了改,你參考一下,有問題可以@我
SQL> CREATE TYPE PERSON IS VARRAY(4) OF VARCHAR2(30);
2 /
Type created
SQL> CREATE TYPE PERSON_ARRAY IS VARRAY(4) OF PERSON;
2 /
Type created
SQL> CREATE OR REPLACE PACKAGE TEST
2 AS
3 FUNCTION MAIN (BODY1 IN VARCHAR2,
4 BODY2 IN VARCHAR2,
5 BODY3 IN VARCHAR2)
6 RETURN PERSON_ARRAY;
7 END TEST;
8 /
Package created
SQL> CREATE OR REPLACE PACKAGE BODY TEST
2 AS
3 FUNCTION MAIN (BODY1 IN VARCHAR2,
4 BODY2 IN VARCHAR2,
5 BODY3 IN VARCHAR2)
6 RETURN PERSON_ARRAY
7 IS
8 BEGIN
9 RETURN PERSON_ARRAY(
10 PERSON(BODY1, BODY1, BODY1, to_char(sysdate)),
11 PERSON(BODY2, BODY2, to_char(sysdate), BODY2),
12 PERSON(BODY3, to_char(sysdate), BODY3, BODY3),
13 PERSON(to_char(sysdate), BODY1, BODY1, BODY1)
14 );
15 END MAIN;
16 END TEST;
17 /
Package body created
SQL> select test.main(1,2,3) from dual ;
TEST.MAIN(1,2,3)
----------------
<Object>
SQL> drop package TEST;
Package dropped
SQL> drop type PERSON_ARRAY ;
Type dropped
SQL> drop type person;
Type dropped
SQL>
uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/110579.html
標籤:開發
上一篇:唯一性約束問題咨詢
下一篇:linux下sqlplus無反應
