![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
alter trigger howto? [D6, IB6.x]
Immortal_ © (2003-03-23 20:15:00)Не подскажете ли кто нибудь как юзать команду Alter Trigger?
Дело в том, что есть триггер, и надо из хранимой процедуры перевести его в состояние INACTIVE.
Теоретически должно это делаться так:
procedure xxx as
begin
alter trigger MyTrigger inactive;
end
Но на команду Alter Trigger страшно ругаются, может я чего не понимаю, подскажите plz, что делать...
Sergey Masloff (2003-03-24 21:53:00) [1]Alexandr ©
>все это бред.
Вот что-то и я так думаю. Каскадная проктология - не просто через ж., а рекурсивно...
Desdechado (2003-03-24 20:51:00) [2]зачем нужен такой триггер, чтоб его отключать в процедуре?!
Alexandr (2003-03-24 08:34:00) [3]все это бред.
Сергєєв Володимир (2003-03-23 23:39:00) [4]SET TERM};
CREATE PROCEDURE PROC_MY_PROC_TRIGGER_OFF(
....
)RETURNS(
)
AS
BEGIN
.....
UPDATE
RDB$TRIGGERS
SET
RDB$TRIGGER_INACTIVE = 1
WHERE
RDB$TRIGGER_NAME = "TRIGG_BI_FOR_MY_TABLE";
.....
END}
SET TERM;}
/**************************************************/
SET TERM};
CREATE PROCEDURE PROC_MY_PROC_TRIGGER_On(
....
)RETURNS(
)
AS
BEGIN
.....
UPDATE
RDB$TRIGGERS
SET
RDB$TRIGGER_INACTIVE = 0
WHERE
RDB$TRIGGER_NAME = "TRIGG_BI_FOR_MY_TABLE";
.....
END}
SET TERM;}
zacho (2003-03-23 20:26:00) [5]Из хранимой процедуры не получится. В хранимых процедурах и триггерах операторы DDL не доступны. Возможно, перевести триггер в INACTIVE можно с помощью системных таблиц, но я в этом не спец, может быть найдешь что-нибудь полезное на www.ibase.ru или ответит кто-нибудь из знатоков системных таблиц.