Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Можно ли в хранимой процедуре отключить триггер? / 8 сообщений из 8, страница 1 из 1
14.03.2003, 14:51
    #32120206
cep
cep
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в хранимой процедуре отключить триггер?
У меня Interbase 6.5. Хочу сделать хранимую процедуру, которая отключала бы триггер, а потом включала его. Но похоже, что в процедуре слово Alter не понимается. Вроде бы должно быть какое/никакое решение!
...
Рейтинг: 0 / 0
14.03.2003, 16:08
    #32120337
Дегтярев Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в хранимой процедуре отключить триггер?
В IB вроде как нельзя изменять структуру БД из триггеров и процедур.
>Вроде бы должно быть какое/никакое решение!
Есть - изменение системных таблиц. Но возможность не документированая, а потому не безопасная.
Такие вещи делать лучше на клиенте
...
Рейтинг: 0 / 0
17.03.2003, 20:06
    #32121548
Можно ли в хранимой процедуре отключить триггер?
Hi!

Интересный вопрос.
Ответ - нет, нельзя.
Во-первых, в хранимых процедурах не понмиается DDL,
во-вторых, после изменения состояния триггера необходимо переконнектиться, чтобы сбросить кэш метаданных.

Про системные таблицы - лучше не пробуй :)

WBR,
Alexey
...
Рейтинг: 0 / 0
20.03.2003, 11:20
    #32123526
Bol
Bol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в хранимой процедуре отключить триггер?
Для управления триггерами из приложения поступил просто: добавил таблицу
CREATE TABLE T_VKLTRIGGER (
N_VKLTRIGGER FIRST,
VKLTRIGGER CHAR(1),
OPISANIE CHAR(100))
а в триггрере, управляемом из приложения (что можно сделать и в процедуре)поставил условие: например

CREATE TRIGGER T_TOVAROUT_GEN FOR T_TOVAROUT BEFORE INSERT POSITION 0 AS
.....
....
DECLARE VARIABLE TMPVKLTRIGGER CHAR(1);
begin
.........................................................
select VKLTRIGGER from T_VKLTRIGGER where N_VKLTRIGGER=1 into :TMPVKLTRIGGER;
...
...
...
if (:TMPVKLTRIGGER=1) then
BEGIN
...
...
END
end;

Управляя значением TMPVKLTRIGGER из доп таблицы можно отключить хоть весь триггер, хоть его часть.
...
Рейтинг: 0 / 0
21.03.2003, 21:50
    #32125018
Bol
Bol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в хранимой процедуре отключить триггер?
То есть из процедуры можно делать тоже самоё
...
Рейтинг: 0 / 0
25.03.2003, 10:53
    #32126326
cep
cep
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в хранимой процедуре отключить триггер?
Спасибо за идею . На безрыбье, конечно, и рак рыба...
...
Рейтинг: 0 / 0
25.03.2003, 12:43
    #32126450
mad
mad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в хранимой процедуре отключить триггер?
2: Алексей Ковязин

в каком смысле "не поминается DDL в процедурах"?
Это чтож, я не могу таблицу создать из хранимой процедуры?
...
Рейтинг: 0 / 0
26.03.2003, 10:21
    #32127097
cep
cep
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли в хранимой процедуре отключить триггер?
А ты попробуй...
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Можно ли в хранимой процедуре отключить триггер? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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