У меня возникли проблемы с удалением определенной записи из таблицы (ORACLE DB). У меня есть таблица с вложенной таблицей внутри нее.Удаление определенной записи из вложенной таблицы Oracle DB
Структура таблицы выглядит следующим образом: где ML - вложенная таблица
Name, City, ML(Brand, Model, ID, Year, Price)
Что мне нужно сделать, это удалить конкретную запись с идентификатором «L201».
То, что я пытался до сих пор:
SELECT B.ID FROM TABLE Dock A, Table(A.ML) B;
Это работает давая мне все идентификаторы.
Выход:
ID
____
B201
S196
L201
Это не работает при попытке удалить запись:
DELETE FROM Dock
(SELECT B.ID FROM Dock A, Table(A.ML) B) C
WHERE C.ID = 'L201';
Получение ошибки:
Line 2: SQL command not properly ended;
DELETE FROM TABLE
(SELECT D.ML FROM Dock D) E
WHERE E.ID = 'L201';
Выдает ошибку:
single-row subquery returns more than one row
Я все еще получаю сообщение об ошибке, что строка подкачки (строка 2) не была закончена. Ошибка в строке 2: команда SQL не была закончена. – user3074445
Если я не укажу имя таблицы в инструкции delete, я получаю такую ошибку: невозможно выполнить DML в выражении или в столбце вида вложенной таблицы – user3074445
Обновлен SQL работал отлично :) Получил 1 строку удалена. – user3074445