Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с хренимой процедурой ! / 6 сообщений из 6, страница 1 из 1
17.09.2002, 23:32:13
    #32051173
mumka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с хренимой процедурой !
Привет народ!
Может кто нить подскажет, как сделать хранимую процедуру, которая при вызове из триггера (INSTEAD OF DELETE), проверит наличие записей в подчиненной таблице с значением внешнего ключа, равным значению первичного ключа и возвратит результат в триггер, который решит можно ли удалять данную запись или нет.
Процедура должна работать не с конкретной таблицей, а может быть вызвана из любого DELETE-триггера.
...
Рейтинг: 0 / 0
18.09.2002, 11:01:16
    #32051224
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с хренимой процедурой !
foreign key с опцией cascade не то, что вам нужно?
...
Рейтинг: 0 / 0
18.09.2002, 11:11:39
    #32051225
mumka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с хренимой процедурой !
Спасибо за ответ. Но дело в том что мы от каскадны удалений отказались - много данных можно убить легким движением руки. Пытаюсь реализовать то же в триггере, потому что, позарез необходима выдача сообщений об ошибке на русском языке чтоб было понятно самому чайникообразному юзверю ...
Так вобщем ...
...
Рейтинг: 0 / 0
18.09.2002, 12:10:17
    #32051248
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с хренимой процедурой !
Логично. Отказ от каскадного удаления поддерживаю :-)

А в чем проблема? Пишем процедуру, которая на входе имеет имя таблицы и id родительской записи. Потом в ней по информации о foreign keys вытягиваем имена дочерних таблиц и колонках-связях, выполняем select и все.

В этом алгоритме мне не нравится, что придется выполнять динамические запросы, потому что имя таблицы неизвестно, а в остальном все нормально.
...
Рейтинг: 0 / 0
18.09.2002, 12:11:22
    #32051250
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с хренимой процедурой !
Ну и в триггере нужно будет цикл сделать по таблице deleted, чтобы пройтись по всем записям. Вдруг кто-то сделал delete from table без where...
...
Рейтинг: 0 / 0
18.09.2002, 22:33:42
    #32051475
mumka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с хренимой процедурой !
2 GreenSunRise
Спасибо за помощь!!!
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с хренимой процедурой ! / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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