我想將表列中的值(列類型是整數)賦值給整型數組。不幸的是我不能。SELECT INTO INTEGER ARRAY
--TYPE--
CREATE OR REPLACE TYPE ABILITY_ID_ARRAY IS VARRAY(100) OF INTEGER
--DECLARE手續
ABILITY_IDS ABILITY_ID_ARRAY;
--STATEMENT--
SELECT ABILITY_FK INTO ABILITY_IDS
FROM T_EDUCATION_ABILITY_REL
WHERE EDUCATION_FK = edu_id;
我收到此錯誤:
[Error] ORA-00932 (16: 12): PL/SQL: ORA-00932: inconsistent datatypes: expected UDT got NUMBER
什麼類型的ABILITY_FK和ABILITY_IDS - 看起來像一個是dtatetime,另一個是數字。還請檢查您的where子句 – DCR
ABILITY_FK是整數,ABILITY_IDS是整數數組引用TYPE ABILITY_ID_ARRAY –
爲什麼「ABILITY_ID_ARRAY」是一個泛型數組? (除了100的限制,是否有一些關於最多100個Ability ID的業務規則,或者你是否按了語法要求並鍵入一個數字來讓它進行編譯?如果是這樣,請將其設置爲嵌套表格而不是varray。) –