Re: Последовательность выполнения триггеров

From: Oleg Bartunov <oleg(at)sai(dot)msu(dot)su>
To: Serik <uge(at)pochtamt(dot)ru>
Cc: pgsql-ru-general <pgsql-ru-general(at)postgresql(dot)org>
Subject: Re: Последовательность выполнения триггеров
Date: 2005-10-14 19:31:02
Message-ID: Pine.GSO.4.63.0510142330090.10366@ra.sai.msu.su
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general

Читайте документацию или используйте поиск, например:
http://www.pgsql.ru/db/pgsearch/index.html?q=trigger+execution+order&tmpl=%F0%D2%C9%D7%C5%D4&ps=10&set=&group=2&site=

http://www.postgresql.org/docs/current/interactive/sql-createtrigger.html
If multiple triggers of the same kind are defined for the same event, they will be fired in alphabetical order by name.

On Fri, 14 Oct 2005, Serik wrote:

> Здравствуйте, pgsql-ru-general.
>
> Привет всем !
> Есть необходимость выполнить несколько триггеров на одной таблице.
> Как можно задать порядок выполнения ?
> В приципе, они выполняются в порядке объявления, но насколько это
> гарантированно ?
>
>

Regards,
Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg(at)sai(dot)msu(dot)su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83
>From pgsql-ru-general-owner(at)postgresql(dot)org Fri Oct 14 16:32:14 2005
X-Original-To: pgsql-ru-general-postgresql(dot)org(at)localhost(dot)postgresql(dot)org
Received: from localhost (av.hub.org [200.46.204.144])
by svr1.postgresql.org (Postfix) with ESMTP id 7A412D93C7
for <pgsql-ru-general-postgresql(dot)org(at)localhost(dot)postgresql(dot)org>; Fri, 14 Oct 2005 16:31:54 -0300 (ADT)
Received: from svr1.postgresql.org ([200.46.204.71])
by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024)
with ESMTP id 80972-03
for <pgsql-ru-general-postgresql(dot)org(at)localhost(dot)postgresql(dot)org>;
Fri, 14 Oct 2005 19:31:51 +0000 (GMT)
Received: from ra.sai.msu.su (ra.sai.msu.su [158.250.29.2])
by svr1.postgresql.org (Postfix) with ESMTP id 89101D9036
for <pgsql-ru-general(at)postgresql(dot)org>; Fri, 14 Oct 2005 16:31:51 -0300 (ADT)
Received: from ra (ra [158.250.29.2])
by ra.sai.msu.su (8.13.4/8.13.4) with ESMTP id j9EJVlOU006521;
Fri, 14 Oct 2005 23:31:47 +0400 (MSD)
Date: Fri, 14 Oct 2005 23:31:47 +0400 (MSD)
From: Oleg Bartunov <oleg(at)sai(dot)msu(dot)su>
X-X-Sender: megera(at)ra(dot)sai(dot)msu(dot)su
To: Serik <uge(at)pochtamt(dot)ru>
Cc: pgsql-ru-general <pgsql-ru-general(at)postgresql(dot)org>
Subject: Re: =?Windows-1251?B?5+Dv8O7xIOog7eXx6u7r/Oro7CDBxA==?=
In-Reply-To: <741342270(dot)20051014223140(at)pochtamt(dot)ru>
Message-ID: <Pine(dot)GSO(dot)4(dot)63(dot)0510142331310(dot)10366(at)ra(dot)sai(dot)msu(dot)su>
References: <741342270(dot)20051014223140(at)pochtamt(dot)ru>
MIME-Version: 1.0
X-Virus-Scanned: by amavisd-new at hub.org
X-Spam-Status: No, hits=0.322 required=5 tests=[AWL=-0.052,
DNS_FROM_RFC_ABUSE=0.374]
X-Spam-Level:
Content-Type: TEXT/PLAIN; charset=koi8-r; format=flowed
Content-Transfer-Encoding: 8BIT
X-Archive-Number: 200510/20
X-Sequence-Number: 419

Читайте архив, вчера-сегодня это уже пробегало.

On Fri, 14 Oct 2005, Serik wrote:

> Здравствуйте, pgsql-ru-general.
>
> Привет Всем !
> умеет PostreSQL выполнять запрос к нескольким базам одновременно ?
> т.е. в одном запросе обратиться к разным БД ?
>
>

Regards,
Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg(at)sai(dot)msu(dot)su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83
>From pgsql-ru-general-owner(at)postgresql(dot)org Mon Oct 17 08:47:48 2005
X-Original-To: pgsql-ru-general-postgresql(dot)org(at)localhost(dot)postgresql(dot)org
Received: from localhost (av.hub.org [200.46.204.144])
by svr1.postgresql.org (Postfix) with ESMTP id A2BE9DA73D
for <pgsql-ru-general-postgresql(dot)org(at)localhost(dot)postgresql(dot)org>; Mon, 17 Oct 2005 04:14:52 -0300 (ADT)
Received: from svr1.postgresql.org ([200.46.204.71])
by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024)
with ESMTP id 72463-06
for <pgsql-ru-general-postgresql(dot)org(at)localhost(dot)postgresql(dot)org>;
Mon, 17 Oct 2005 07:14:48 +0000 (GMT)
Received: from ecobank2.san.ru (ecobank.san.ru [213.242.34.70])
by svr1.postgresql.org (Postfix) with ESMTP id 77446DA67D
for <pgsql-ru-general(at)postgresql(dot)org>; Mon, 17 Oct 2005 04:14:48 -0300 (ADT)
Received: from econom.exchange.econombank.com ([192.100.201.55] RDNS failed) by ecobank2.san.ru with Microsoft SMTPSVC(5.0.2195.6713);
Mon, 17 Oct 2005 11:14:35 +0400
Received: from [192.100.201.108] (horohorin.headquarters.econombank.ru [192.100.201.108]) by econom.exchange.econombank.com with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2448.0)
id R0SMYA77; Mon, 17 Oct 2005 11:14:34 +0400
Message-ID: <43534F81(dot)9080000(at)list(dot)ru>
Date: Mon, 17 Oct 2005 11:15:13 +0400
From: Genix <genix(at)list(dot)ru>
User-Agent: Mozilla Thunderbird 1.0.6 (X11/20050815)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: pgsql-ru-general <pgsql-ru-general(at)postgresql(dot)org>
Subject: =?KOI8-R?Q?=CF=C2=CE=CF=D7=CC=D1=C0=DD=C9=CA_=D4=D2=C9=C7=C5=D2?=
Content-Type: text/plain; charset=KOI8-R; format=flowed
Content-Transfer-Encoding: 8bit
X-OriginalArrivalTime: 17 Oct 2005 07:14:35.0067 (UTC) FILETIME=[6D77B8B0:01C5D2EA]
X-Virus-Scanned: by amavisd-new at hub.org
X-Spam-Status: No, hits=1.436 required=5 tests=[AWL=0.010,
DNS_FROM_RFC_POST=1.376, FORGED_RCVD_HELO=0.05]
X-Spam-Level: *
X-Archive-Number: 200510/21
X-Sequence-Number: 420

Приветствую!

Подскажите пожалуйста, как правильнее создать триггер, который обновляет
некоторые поля обновленной или вставленной записи?

т.е., например, в таблице, должно быть поле birth_year =
YEAR(birth_date), и при вставки/обновлении записи в таблице, это
значение должно заполняться.

P.$.: в информиксе это делалось таким образом:

CREATE TRIGGER trg_ins_sbj_1
INSERT ON persons
REFERENCING NEW AS new
FOR EACH ROW (
execute procedure my_proc(new.name, new.birth_date)
into table.name_upper,table.birth_year);

где функция my_proc возвращала несколько значений (upper для name, year
для даты).

Заранее спасибо!

--
У каждого в башке свои тараканы...

In response to

Browse pgsql-ru-general by date

  From Date Subject
Next Message Viktor Vislobokov 2005-10-17 11:56:46 Re: обновляющи
Previous Message Nick Gazaloff 2005-10-14 18:34:22 Re: Последов