Попытка выполнить запрос к данным в таблице. Запрос звучит так: «Укажите название альбома, дату выпуска и цену альбома всех альбомов Нила Янга, выпущенных после 1 января 2015 года».
Соответствующая структура таблицы (исключая другие части) выглядит следующим образом:
create or replace type artist_type as object
(artistName varchar(50),
artistRole varchar(25))
/
create type artist_array_type
as varray(5) of artist_type
/
create or replace type album_type as object
(albumTitle varchar(50),
albumPlaytime number(3), -- minutes
albumReleaseDate date,
albumGenre varchar(15),
albumPrice number(9,2),
albumTracks number(2),
albumArtists artist_array_type,
albumReviews review_table_type,
member function discountPrice return number,
member function containsText (pString1 varchar2, pString2 varchar2) return integer)
not instantiable not final
/
Ниже приведен мой текущий запрос,
select a.albumtitle, a.albumreleasedate, a.albumprice
from albums a
where a.albumartists.artist_type.artistname = 'Neil Young'
and a.albumreleasedate >= '1-Jan-2015';
, однако при попытке выполнить его в Oracle SQL Developer я получаю сообщение об ошибке:
ORA-00904: "A". "ALBUMARTISTS". "ARTIST_TYPE". "ARTISTNAME": неверный идентификатор
00000 - "% s: неверный идентификатор"