Re: Make a SQL statement not run trigger

Поиск
Список
Период
Сортировка
От Jon Collette
Тема Re: Make a SQL statement not run trigger
Дата
Msg-id 46CB6C0E.7070508@etelos.com
обсуждение исходный текст
Ответ на Re: Make a SQL statement not run trigger  ("Scott Marlowe" <scott.marlowe@gmail.com>)
Ответы Re: Make a SQL statement not run trigger  ("Scott Marlowe" <scott.marlowe@gmail.com>)
Список pgsql-sql
I think this will work for what I need.  I have been messing around with 
this using select into

/select True as donothing into temporary table table_trigger_name;
then run statement that I want to be ignored
/
The trigger would have a select upon the table_trigger_name to determine 
if it should run or not.  I am having issues catching the exception when 
the table is not found.

This is my test function of my trigger

/Create or replace function trigger_test() returns boolean as $$
declare   donothing boolean;
begin   donothing := False;   select donothing into donothing from table_trigger_name;   return boolean;
end;
$$ LANGUAGE plpgsql;
/
Which of course will error when there is no table_trigger_name made for 
that session.  I couldn't find an exception in the exceptions list for 
table not found errors.


Scott Marlowe wrote:
> On 8/21/07, Jon Collette <jon@etelos.com> wrote:
>   
>> Is it possible to run an insert,update, or delete and have it not launch
>> a trigger like it normally would?
>>
>> For example could I set a value
>> DONOTRUN = True;
>> insert into contacts ....
>>     
>
> The closest thing to a session variable for pgsql is going to likely
> be a temp table.  you could have a temp table for each session that
> stores such things and the trigger looks in the temp table to see what
> to do.
>
>   
>> Or is there just a global variable I could set to disable triggers and
>> then reset it? And would that be a per connection variable?
>>     
>
> Yes, but that would open you up to race conditions.  If another
> session wanted the trigger to fire it would not get it.  Using a temp
> table would allow you to get around the race condition.
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: You can help support the PostgreSQL project by donating at
>
>                 http://www.postgresql.org/about/donate
>   



В списке pgsql-sql по дате отправления:

Предыдущее
От: Jon Collette
Дата:
Сообщение: Re: Make a SQL statement not run trigger
Следующее
От: "Scott Marlowe"
Дата:
Сообщение: Re: Make a SQL statement not run trigger