[SQL] как удалить запись включая подчиненные?

peter1dav

Как бы так удалить запись из таблички(включая все подчиненные если в самом простейшем варианте есть связь ID - ParentID?

Biglem

В каком смысле подчиненные?
Ты как-нибудь поконкретней сформулируй
DELETE FROM table WHERE ID=ParentID
Это ответ на твой вопрос
Но мне кажется ты не это спрашивал
Или ты не знаешь в каких табличках эти "подчиненные" находятся?

peter1dav

Имеется в виду вложенная подчиненность.
Самы простой пример Каталог с файлами в файловой системе.
Тебе нужно удалить корневую папку.. а вместе с ней все что внутри.. при этом там могут быть вложенные папки в неизвестном количестве.

Usmanova72

воспользуйся Mysql control (графическая утила для редактирования)

rfgbnfy

у тебя эти поля в одной таблице ? они "реально" связанны через key , или просто так , "на глаз" , потому что ты решил что они связанны ?

peter1dav

Это вообще обычная DBF-ка...
Табличка такого вида
ID ID_PRNT бла-бла-бла
Под связью понимается только то что я догадываюсь... что над записью с ID_PRNT = 1 должна находиться записть с ID = 1. (по уровням вложенности)

peter1dav

Типа вот

Надо удалить запись с ID = 1 и все ей подчиненные (ID = 2 и ID = 3)

pitrik2

если таблицы были созданы с учетом внешних ключей, то при удалении в главной таблице -Ю в остальных автоматом удалистся
если нет, то чтонить типа такого:
delete from table_child where par_id=?;
delete from table_parent where id=?;

rfgbnfy

если эти столцбы реально связанна и целостность базой поддерживается - то по идее всё само должно удалится . хотя хз - не проверял . а по поводу как выдернуть всю ветку дерева одним запросом (сделать рекрусивный SQL запрос) - тут эта тема как то поднималась , и даже какие то были предложенны варианты , но на редкаость извратные и ограниченные . делай лучше на каком нибудь языке рекруссию ...............

peter1dav

В том то вся и фишка что я сомневаюсь что целостность поддерживается автоматом %
Скорее всего эта задача на ручках.. умеет обычный BDE(IV) это делать? для обычного файлика лежащего на диске без какого либо сервера БД?

rfgbnfy

хз . не работал я с таким .
какое то решение предлагают ...........
Оставить комментарий
Имя или ник:
Комментарий: