![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: нет Всего: 5 |
Нужно обновить записи двух таблиц,
причем - вторую обновлять, если в первой обновилась точно одна запись; - если вторая не обновляется(ошибка или обновляется более одной записи или ноль записей), тогда и первую вернуть в исходное положение(вероятно BEGIN TRANSACTION). Это сообщение отредактировал(а) Pankon - 23.1.2007, 12:48 |
|||
|
||||
Dremlin |
|
|||
![]() Quo vadis? ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 21.9.2006 Где: Киев Репутация: нет Всего: 4 |
Похоже на то. Что-то вроде:
Это сообщение отредактировал(а) Dremlin - 23.1.2007, 13:21 --------------------
Каждый дурак знает, что до звезд не достать, а умные, не обращая внимания на дураков, пытаются... |
|||
|
||||
Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: нет Всего: 5 |
Dremlin, спасибо...
А если четыре таблицы... ? ![]() Довольно громоздкий поличается код... Есть ли другие решения? |
|||
|
||||
Dremlin |
|
|||
![]() Quo vadis? ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 21.9.2006 Где: Киев Репутация: нет Всего: 4 |
А кому сейчас легко ![]() Ты бы обрисовал задачу более общо, что-ли... Может и найдем другие ![]() --------------------
Каждый дурак знает, что до звезд не достать, а умные, не обращая внимания на дураков, пытаются... |
|||
|
||||
Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: нет Всего: 5 |
А если так
|
|||
|
||||
Dremlin |
|
|||
![]() Quo vadis? ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 21.9.2006 Где: Киев Репутация: нет Всего: 4 |
Если работает и тебя это устраивает, то почему бы и нет? ![]() --------------------
Каждый дурак знает, что до звезд не достать, а умные, не обращая внимания на дураков, пытаются... |
|||
|
||||
Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: нет Всего: 5 |
||||
|
||||
Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: нет Всего: 5 |
Курсор перебирает записи одной таблицы по определенному критерию(SELECT f1,f2,Id1,Id2 FROM T1 WHERE f5=0). Нужно
Примерно так я уже сделал ... Нехватает только "безопасности"..., поэтому и задал этот вопрос Процедура будет запускаться 1 раз в два часа. Обращение(чтение, запись) к базе (в том числе к перечисленным таблицам) происходит постоянно из разных приложений, сервисов и пользователей. Поэтому вероятность "блокировок" велика.... Ясно что нужно применать транзакции... ХОТЕЛОСь БЫ иметь оптимальный код и генерировать как можно меньше "блокировок", что бы не мешать работе других приложений... |
|||
|
||||
Dremlin |
|
|||
![]() Quo vadis? ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 21.9.2006 Где: Киев Репутация: нет Всего: 4 |
Может лучше триггер(ы) написать on insert(update) на Т1, который(е) обновлял(и) бы таблы Т2-4 в зависимости от fx "на лету" без всяких процедур и курсоров? --------------------
Каждый дурак знает, что до звезд не достать, а умные, не обращая внимания на дураков, пытаются... |
|||
|
||||
Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: нет Всего: 5 |
||||
|
||||
Dremlin |
|
|||
![]() Quo vadis? ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 21.9.2006 Где: Киев Репутация: нет Всего: 4 |
Понимаю, сам без триггеров работаю, по тем же причинам... ![]() В общем, предлагаю запускать эту процедуру раз в сутки в 03:00, когда с базой никто не работает. --------------------
Каждый дурак знает, что до звезд не достать, а умные, не обращая внимания на дураков, пытаются... |
|||
|
||||
Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: нет Всего: 5 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "MS SQL" | |
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MS SQL Server | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |