PL / SQL удаляет данные строка за строкой
Всем привет,
Кто-нибудь может сказать мне, как удалить данные строка за строкой из главной таблицы и значений в дочерней таблице с помощью цикла. У меня есть главная таблица, которая имеет отношение внешнего ключа с другой таблицей. То, что я хочу, это то, что мне нужно получить идентификатор из главной таблицы, и с помощью этого идентификатора я хочу удалить данные, присутствующие в другой таблице, вместе с содержимым главной таблицы.
*Получить идентификатор из главной таблицы
* Удалите значения в дочерней таблице, содержащие тот же идентификатор, который был извлечен из главной таблицы.
* Удалите эту строку главного идентификатора из главной таблицы.
Это делается процессом очистки баз данных, которые содержат ненужные данные.
Кроме того, я новичок в PL\SQL.
Спасибо и с уважением,
Jagadisha.Н
Что я уже пробовал:
Declare your_variable varchar2(19); BEGIN FOR x IN (SELECT COORDINATEDVERSIONID FROM Mastertable where ISCURRENTVERSION = 0 order by coordinatedversionid asc) LOOP FOR y IN (DELETE FROM Childtable where coordinatedversionid = x.COORDINATEDVERSIONID order by coordinatedversionid asc DELETE FROM Mastertable where coordinatedversionid = x.COORDINATEDVERSIONID ) LOOP END LOOP; END LOOP; END;
jgakenhe
Я бы установил мастер-таблицу для удаления на каскаде (http://www.techonthenet.com/oracle/foreign_keys/foreign_delete.php) и тогда все, что вам нужно сделать, это удалить запись главного ключа по первичному ключу, который вы хотите; тогда все связанные дочерние записи будут удалены.
Полегче, Пизи!