MS SQL. Каскадное удаление записей #675716


#0 by Ахмадинежад
Ну то есть при удалении записи в таблице документов, естественно, что нужно удалять таблицы табличных частей. Где почитать, как настраивается сабж ? На первовыдающихся поисковиком ссылках - в основном форумы. Что называется, пошаговой инструкции нема.
#1 by Maxus43
чем не устраивает в 1с удалять?
#2 by Ахмадинежад
база большая. ооооочень долго.
#3 by Maxus43
полностью таблицы надо очистить? или выборочные записи?
#4 by Fragster
через ПолучитьСтруктуруХраненияБазыДанных получаешь имена таблиц и дальше по ним удаляешь
#5 by 1Сергей
триггера (триггеры?) использовать надо
#6 by Ахмадинежад
выборочно, так бы дропнул.. это всё есть, даже научился удалять по условию, но как только понадобилось удалять по JOIN (ну то бишь удаляю строку из таблицы документов - надо по ключу удалить строку из таблицы табличных частей документа) - усё.. на одном форуме советуют, то триггеры то каскадное, вроде больше нарыл сторонников каскадного..
#7 by Ёпрст
и ? примитивные 2 запроса на delete с известным ключом..
#8 by Ёпрст
нафига тебе какой-то там джоин ?
#9 by Ахмадинежад
а можно пример ? ...
#10 by Ёпрст
#11 by ptiz
Как я понял из кода этой обработки, там сделано "гениально просто": ID документов собираются в ТЗ, а потом идет перебор и очистка таб.части каждого документа отдельным запросом :)
#12 by Ёпрст
да.
#13 by Ёпрст
ничто не мешает, влепить все во временную тз и сделать всё без обхода результатов первого запроса.
#14 by Ахмадинежад
благодарю
#15 by Серго62
Если нужно почистить документы, то двумя запросами не обойдешься. Например документ РеализацияТоваровИУслуг "размазан" по 8-ми таблицам
#16 by МихаилМ
настраиваете внешние ключи. и при удалении ведущих ведомые удаляться. впрочем это зависит от субд. только будет проблема при реструктуризации.
#17 by rs_trade
а че, у таблиц базы 1с внешние ключи есть?
#18 by rs_trade
каскадное же с внешними ключами работает.
#19 by МихаилМ
+ пересчет итогов отдельно сделать.
#20 by МихаилМ
кто мешает настроить. много возможностей субд открывается если уметь бороться с проблемой пересоздания таблиц при реструктуризации.
#21 by rs_trade
проблему можно победить, но по мне лично не хочется иметь базу обвешанную всякими тригерами как новогодняя елка.
#22 by rs_trade
Внешние ключи можно повесить, удалить объекты, ключи снять.
#23 by МихаилМ
что тириггеры, что подписки - единое -  новогодняя елка с какой стороны смотреть на 1с : из конфигуратора или из ssms.
#24 by rs_trade
хотя гораздо проще запрос написать на удаление
#25 by Torquader
При желании, можно выбрать все идентификаторы документов и по ним последовательно почистить сначала табличные части, а потом и сам документ. Только, мне кажется, что проще всё же удалять из самой 1С.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С