我正在使用 apex.oracle,我得到的错误是[unsupported data type]
. 解释:我有一个名为 Playlist 的表,我想将一组歌曲存储到该Songs
字段中。出于这个原因,我定义了一个名为PlaylistSongs
ofvarray
的类型chars
。插入有效,但是当我执行 SELECT 时,我得到[unsupported data type]
的不是带有值的数组。
这是代码
CREATE OR REPLACE TYPE PlaylistSongs AS VARRAY(4) OF CHAR(16);
CREATE TABLE PLAYLIST (
IDPlaylist NUMBER(4) NOT NULL,
PlaylistName CHAR(64),
PlaylistAuthor NUMBER(2),
PlaylistDuration NUMBER,
ActivePlaylist NUMBER(1),
Songs PlaylistSongs,
CONSTRAINT PLAYLIST_PRIMARY_KEY PRIMARY KEY (IDPlaylist),
CONSTRAINT PLAYLIST_FOREIGN_KEY FOREIGN KEY (PlaylistAuthor) REFERENCES DJ (IDDJ)
);
INSERT INTO PLAYLIST VALUES (1, 'Rap', 1, 153, 1, 1, PlaylistSongs('River', 'Lose Yourself', 'Till I Collapse', 'Walk On Water'));
经过一番研究,我找到了TABLE
运营商。
SELECT *
FROM PLAYLIST p, TABLE(p.Songs) ps
这有效,但不是将数组显示为常规数组,而是在新行上显示每个条目。
我需要它看起来像['River', 'Lose Yourself', 'Till I Collapse', 'Walk On Water']
。可以做到吗?