|
|
|
IBExpert. Каскадное удаление.
|
|||
|---|---|---|---|
|
#18+
Ребята, необходимо из бд, состоящей из более чем двухсот таблиц удалить данные за определенный период. Но присваивая отдельно каждому ключу Каскадное удаление (On Delete Rule: CASCADE), уходит много времени. Можно ли разом всеv ключам этой базы данных присвоить Каскадное удаление ? Я новичок. Может для вас это просто. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 14:38 |
|
||
|
IBExpert. Каскадное удаление.
|
|||
|---|---|---|---|
|
#18+
005ms00, можно, но не нужно 005ms00Я новичок. Может для вас это просто. у нас таких задач не возникает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 14:56 |
|
||
|
IBExpert. Каскадное удаление.
|
|||
|---|---|---|---|
|
#18+
005ms00, а потом - обратно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 15:45 |
|
||
|
IBExpert. Каскадное удаление.
|
|||
|---|---|---|---|
|
#18+
Нет, обратно ничего не надо. У меня в базе информация за несколько лет. Все что было до 2013 го я хочу удалить. Но этому мешают другие таблицы с которыми есть связь. Вот я и хочу разом всем ключам таблицы присвоить Каскадное удаление ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 16:08 |
|
||
|
IBExpert. Каскадное удаление.
|
|||
|---|---|---|---|
|
#18+
005ms00 У меня в базе информация за несколько лет. У кого угодно, но только не у тебя. Разработчик наглеет или ваше руководство решило сэкономить? В любом случае, стоит таки найти того, кто имеет непосредственное отношение к разработке структуры бд... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 16:16 |
|
||
|
IBExpert. Каскадное удаление.
|
|||
|---|---|---|---|
|
#18+
Видимо разработчик. В настройках отдельно каждого ключа я прописываю каскадное удаление. Но стаким количеством таблиц это занимает много времени. Вот я и спрашиваю можно ли это как то применить ко всей бд, а не отдельно в настройках каждого ключа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 16:20 |
|
||
|
IBExpert. Каскадное удаление.
|
|||
|---|---|---|---|
|
#18+
005ms00можно ли это как то применить ко всей бд нет, никак нельзя. кроме того, излишними каскадами ты можешь убить нужную информацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 16:23 |
|
||
|
IBExpert. Каскадное удаление.
|
|||
|---|---|---|---|
|
#18+
005ms00, а если документы связаны без ключа? А если связь - циклическая? Руками делай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 16:25 |
|
||
|
IBExpert. Каскадное удаление.
|
|||
|---|---|---|---|
|
#18+
Ладно. Спасибо всем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 17:38 |
|
||
|
IBExpert. Каскадное удаление.
|
|||
|---|---|---|---|
|
#18+
005ms00, предлагаю такую схему: 1. получаешь из базы скрипт, isql -x a.db >sql.txt 2. из скрипта удаляешь все, что не начинается с alter table .... 3. определяешь все справочные таблицы. Убираешь все FK, которые ссылаются на справочные таблицы. Тебе же не надо, чтобы при удалении записи из справочника, например, какого-то клиента, удалились каскадно все заказы, которые делал этот клиент? 4. Проверяешь, что таблицы оставшихся FK действительно содержат записи "по датам". 5. Для всех этих fk добавляешь в конце on delete cascade. 6. применяешь этот скрипт на базе 7. начинаешь чистить таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 21:57 |
|
||
|
IBExpert. Каскадное удаление.
|
|||
|---|---|---|---|
|
#18+
005ms00, вдогонку - я бы использовал какой-нибудь case-инструмент, чтобы быстрее определить, какие таблицы справочные, как таблицы взаимосвязаны, и т.п. Импортнул базу из скрипта, поудалял лишние таблицы, совмещая с пунктом 3 из сообщения выше, потом действовал бы по оставшимся в модели таблицам. Правда, как уже сказал ZeroMQ, FK могут быть не у всех таблиц, это от разработчиков исходной БД зависит. p.s. еще между пунктами 5 и 6 забыл удаление FK перед их воссозданием с on delete cascade. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 22:02 |
|
||
|
IBExpert. Каскадное удаление.
|
|||
|---|---|---|---|
|
#18+
Одному мне не очень ясно, какая проблема во времени выполнения разовой операции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2014, 10:59 |
|
||
|
IBExpert. Каскадное удаление.
|
|||
|---|---|---|---|
|
#18+
А одному мне интерессно, задлянафига эти телодвижения? 005ms00, если разработчик утверждает, что "база тормозит", потому что "данных много" - либо смените его, либо отправьте учиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2014, 11:18 |
|
||
|
IBExpert. Каскадное удаление.
|
|||
|---|---|---|---|
|
#18+
Fr0sT-Brutalкакая проблема во времени выполнения разовой операции? ну чего трахаться, думать, где чего надо включить, выключить. Хочется же на кнопочку нажать, и чтобы сразу все сделалось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2014, 12:20 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38799891&tid=1563211]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
166ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 448ms |

| 0 / 0 |
