Удалить всю строку в двух таблицах (внутреннее соединение?) - PullRequest
2 голосов
/ 19 августа 2011

Я пытаюсь удалить строку данных в двух таблицах. У меня есть следующий код, который не работает:

DELETE
FROM PROCESS_OWNER.ARTIFACTS
JOIN PROCESS_OWNER.ARTIFACT_METADATA
ON ARTIFACTS.ARTIFACT_ID = ARTIFACT_METADATA.ARTIFACT_ID
WHERE ARTIFACT_LABEL = 'getTest'

Я получаю сообщение об ошибке:

"Команда SQL неправильно завершена"

Буду очень признателен за помощь, поскольку я изо всех сил пытаюсь разобраться с Oracle.

1 Ответ

1 голос
/ 19 августа 2011

Вы не можете сделать это с помощью соединения. DELETE FROM должен быть нацелен на одну таблицу. Вы могли бы сделать это:

DELETE FROM PROCESS_OWNER.ARTIFACT_METADATA WHERE ARTIFACT_ID = (SELECT ARTIFACT_ID FROM PROCESS_OWNER.ARTIFACTS WHERE ARTIFACT_LABEL = 'getTest');
DELETE FROM PROCESS_OWNER.ARTIFACTS WHERE ARTIFACT_LABEL = 'getTest';
...