hereの方法を使用してOracle PL/SQLコレクション(結合配列)をソートしようとしています。 連想配列を使用するために、リンクされたページの例を変更しましたが、キャスティングに問題があると思います。Oracle CASTマルチセット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'を使用することはできません。 –