powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос по триггерам
8 сообщений из 8, страница 1 из 1
Вопрос по триггерам
    #32071314
Alex Hazov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть триггер на UPDATE, INSERT, DELETE. При его срабатывании надо обновить запись в другой таблице.
Правильное ли это решения для определения типа триггера ???
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE TRIGGER trigger_name ON table_name
FOR UPDATE, INSERT, DELETE
AS

set nocount on
if ( exists ( select * from inserted ) )
	declare temp_cursor cursor FAST_FORWARD for select distinct user_id from inserted
else                
	declare temp_cursor cursor FAST_FORWARD for select distinct user_id from deleted
set nocount off      

.... проход по курсору ....
...
Рейтинг: 0 / 0
Вопрос по триггерам
    #32071318
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет
...
Рейтинг: 0 / 0
Вопрос по триггерам
    #32071319
Alex Hazov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как надо делать ?
...
Рейтинг: 0 / 0
Вопрос по триггерам
    #32071320
Александр Спелицин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В случае Update у Вас будут записи как в inserted, так и в deleted.
...
Рейтинг: 0 / 0
Вопрос по триггерам
    #32071323
Alex Hazov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я вытаскиваю только FOREIGN KEY (он в update не меняетя), поэтому в случае update мне все равно откуда его брать
...
Рейтинг: 0 / 0
Вопрос по триггерам
    #32071516
Q
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Q
Гость
Подскажите ответ на примерно такой же вопрос:

Нормально ли (из практики) объявлять курсор (declare c_tmp cursor ...) в двух ветках if - else или лучше каждый из этих курсоров объявлять в собственном триггере?
...
Рейтинг: 0 / 0
Вопрос по триггерам
    #32071521
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скоре да чем нет
...
Рейтинг: 0 / 0
Вопрос по триггерам
    #32071544
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По аналогичному же вопросу уже было обсуждение. Вопрос ставился примерно так:

Что лучше писать одну универсальную процедуру с кучей параметров и вложенных IF или много отдельных небольших процедур под каждую ситуацию?

Так вот, как считают более опытные товарищи, лучше писать много маленьких процедур.

Я с этим уже согласен :) Напоролся...

Это поначалу кажется, что тут можно всего-лишь маленький IF поставить, а потом выясняется, что к этому надо еще с десяток IF в других местах, да еще флаги везде расставить.

Исходите из предположения, что ваша база будет в дальнейшем развиваться и вполне вероятно, что при удалении надо будет проделать какие-нибудь еще операции отличные от тех, которые будет при вставке или модификации.

Все-таки, удаление - это принципиально другая логическая операция чем вставка или модификация.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос по триггерам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]