|
|
|
Помогите с хренимой процедурой !
|
|||
|---|---|---|---|
|
#18+
Привет народ! Может кто нить подскажет, как сделать хранимую процедуру, которая при вызове из триггера (INSTEAD OF DELETE), проверит наличие записей в подчиненной таблице с значением внешнего ключа, равным значению первичного ключа и возвратит результат в триггер, который решит можно ли удалять данную запись или нет. Процедура должна работать не с конкретной таблицей, а может быть вызвана из любого DELETE-триггера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2002, 23:32:13 |
|
||
|
Помогите с хренимой процедурой !
|
|||
|---|---|---|---|
|
#18+
foreign key с опцией cascade не то, что вам нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2002, 11:01:16 |
|
||
|
Помогите с хренимой процедурой !
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответ. Но дело в том что мы от каскадны удалений отказались - много данных можно убить легким движением руки. Пытаюсь реализовать то же в триггере, потому что, позарез необходима выдача сообщений об ошибке на русском языке чтоб было понятно самому чайникообразному юзверю ... Так вобщем ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2002, 11:11:39 |
|
||
|
Помогите с хренимой процедурой !
|
|||
|---|---|---|---|
|
#18+
Логично. Отказ от каскадного удаления поддерживаю :-) А в чем проблема? Пишем процедуру, которая на входе имеет имя таблицы и id родительской записи. Потом в ней по информации о foreign keys вытягиваем имена дочерних таблиц и колонках-связях, выполняем select и все. В этом алгоритме мне не нравится, что придется выполнять динамические запросы, потому что имя таблицы неизвестно, а в остальном все нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2002, 12:10:17 |
|
||
|
Помогите с хренимой процедурой !
|
|||
|---|---|---|---|
|
#18+
Ну и в триггере нужно будет цикл сделать по таблице deleted, чтобы пройтись по всем записям. Вдруг кто-то сделал delete from table без where... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2002, 12:11:22 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32051475&tid=1820247]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
39ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 291ms |

| 0 / 0 |
