|
удаление записей
|
|||
---|---|---|---|
#18+
ест две таблицы А и Б. связью один к многим. как можно одновременно удалить записи по определенному условию из таблицы А и вместе с ним удалить соответствующие записи из Б ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2010, 09:10 |
|
удаление записей
|
|||
---|---|---|---|
#18+
Makrosaест две таблицы А и Б. связью один к многим. как можно одновременно удалить записи по определенному условию из таблицы А и вместе с ним удалить соответствующие записи из БОдновременно - никак. Команда delete в любом варианте удаляет данные только из одной таблицы. С помощью триггеров и касадных связей можно организовать "как бы" одновременное удаление, но внутри все равно будет две команды удаления. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2010, 10:07 |
|
удаление записей
|
|||
---|---|---|---|
#18+
Если таблицы в контейнере БД то можно транзакцию использовать. BEGIN TRAN ... END TRAN ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2010, 11:57 |
|
удаление записей
|
|||
---|---|---|---|
#18+
Dima TЕсли таблицы в контейнере БД то можно транзакцию использовать. BEGIN TRAN ... END TRANТранзакция обеспечит "неделимость" пары команд, но количество команд от этого не изменится, пара останется парой. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2010, 12:08 |
|
удаление записей
|
|||
---|---|---|---|
#18+
проходящий.Dima TЕсли таблицы в контейнере БД то можно транзакцию использовать. BEGIN TRAN ... END TRANТранзакция обеспечит "неделимость" пары команд, но количество команд от этого не изменится, пара останется парой. Количество команд увеличится, но реальное удаление произойдет одновременно в обоих таблицах по команде END TRAN. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2010, 12:39 |
|
удаление записей
|
|||
---|---|---|---|
#18+
проходящий.Одновременно - никак. Команда delete в любом варианте удаляет данные только из одной таблицы. С помощью триггеров и касадных связей можно организовать "как бы" одновременное удаление, но внутри все равно будет две команды удаления. а конкретно можно (например на этом примере) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2010, 15:06 |
|
удаление записей
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2010, 15:25 |
|
удаление записей
|
|||
---|---|---|---|
#18+
Makrosaкак можно одновременно удалить записи по определенному условию из таблицы А наверное неправильно объяснил. я удаляю запись из таблицы А (неважно один или несколько). а из таблице Б самостоятельно должен удалится соответствующие ему записи (с помощью триггера или ...) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2010, 21:30 |
|
удаление записей
|
|||
---|---|---|---|
#18+
И? Всё упирается только в ваше слово "соответствующие", так что приходится напрягать телепатические способности. Вариант: у вас нормализованные таблицы, тогда имеется что-то вроде tableB.id<=>tableA.id Удаляем просто: Код: plaintext 1. 2. 3. 4. 5.
Вариант: у вас установлено некое текущее отношение через SET RELATION TO + SET SKIP TO, и вы хотите удалить именно связанные записи. Обычно, связанная таблица имеет индекс по выражению связи, и этот индекс активен. Пусть у нас установлено только одно отношение (для простоты примера). Тогда можно сделать так: Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2010, 02:39 |
|
удаление записей
|
|||
---|---|---|---|
#18+
AndreTMВариант: у вас нормализованные таблицы, тогда имеется что-то вроде tableB.id<=>tableA.id да у меня такие таблицы. но такой вариант удаления не устраивает (так и я могу). я бы хотел чтоб, когда я удаляю запись (или записи) из таблицы А - таблица А самостоятельно, без моего участия, удаляла запись из В (например с помощью триггера встроенного в таблицу А) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2010, 14:24 |
|
удаление записей
|
|||
---|---|---|---|
#18+
> Автор: Makrosa > я бы хотел чтоб, ... самостоятельно, без моего участия, ... Тогда велкам в группу пользователей Большого Брата, и без особой разницы кто будет выбран для миграции, они все поддерживают ссылочную целостность. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2010, 14:45 |
|
удаление записей
|
|||
---|---|---|---|
#18+
MakrosaAndreTMВариант: у вас нормализованные таблицы, тогда имеется что-то вроде tableB.id<=>tableA.id да у меня такие таблицы. но такой вариант удаления не устраивает (так и я могу). я бы хотел чтоб, когда я удаляю запись (или записи) из таблицы А - таблица А самостоятельно, без моего участия, удаляла запись из В (например с помощью триггера встроенного в таблицу А)Ну так засовывайте Ваши таблицы в базу данных и пишите соответствующий триггер. В нем то как раз и будут показанные Вам команды. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2010, 15:25 |
|
|
start [/forum/topic.php?fid=41&fpage=84&tid=1584747]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 129ms |
0 / 0 |