here으로 표시된 접근 방식을 사용하여 Oracle PL/SQL 컬렉션 (연관 배열)을 정렬하려고합니다. 연관 배열을 사용하기 위해 링크 된 페이지에서 예제를 수정했지만 일부 캐스팅 문제가있는 것 같습니다.Oracle CAST MULTISET ORA-00902 : 잘못된 데이터 유형
DECLARE
TYPE TABLE_TYPE IS TABLE OF NUMBER INDEX BY VARCHAR2(10);
table_in TABLE_TYPE;
table_out TABLE_TYPE;
BEGIN
-- 1. Populating the collection with random numbers between 1 and 50
FOR i IN 1..9 LOOP
SELECT ROUND(DBMS_RANDOM.VALUE(1,50))
INTO table_in('key-'||i)
FROM DUAL;
END LOOP;
-- 2. Trying to order the collection -> throws ORA-00902: invalid datatype
SELECT CAST (MULTISET(
SELECT * FROM TABLE(table_in)
ORDER BY 2
) AS TABLE_TYPE
)
INTO table_out
FROM DUAL;
END;
내가 잘못 뭐하는 거지 : 여기
내 코드는?
시간이 무엇인지 모르는SQL Engine
및
SQL Engine
작동하기 때문에 당신은
select
에서
table
로
associative array
을 사용할 수 없습니다
연관 배열에'MULTISET'을 사용할 수 없습니다. –