Re: Trying to move away from Firebird

Поиск
Список
Период
Сортировка
От Adrian Klaver
Тема Re: Trying to move away from Firebird
Дата
Msg-id 56BE6126.5060408@aklaver.com
обсуждение исходный текст
Ответ на Trying to move away from Firebird  (ioan ghip <ioan@pangea-comm.com>)
Ответы Re: Trying to move away from Firebird  (ioan ghip <ioan@pangea-comm.com>)
Список pgsql-general
On 02/12/2016 02:11 PM, ioan ghip wrote:
> I was able to create all the domains, tables, views, etc, but I have
> trouble creating stored procedures and triggers. Also, a question, does
> Postgres support events, for example in Firebird I could do something
> like this and then receive the event in the GUI:
>
>    if ((NEW.MUSED_M_>=NEW.MLIMIT_M_) and (NEW.MLIMIT_M_>0) and
> (NEW.ISACTIVE=1) and (NEW.FAXTOFAXFLAG=1)) then
>    begin
>      POST_EVENT 'deactivate_f2f';
>    end

LISTEN/NOTIFY?

http://www.postgresql.org/docs/9.5/interactive/sql-listen.html

What exactly does POST_EVENT do?

>
> Please help me translate the examples bellow so I can understand the
> differences:
>
>
> CREATE GENERATOR GENADMINID START WITH 0 INCREMENT BY 1;
> SET GENERATOR GENADMINID TO 108;

http://www.postgresql.org/docs/9.5/interactive/sql-createsequence.html
http://www.postgresql.org/docs/9.5/interactive/functions-sequence.html

>
> CREATE TRIGGER B_UPDATE_COMPANY FOR COMPANY
> ACTIVE AFTER UPDATE POSITION 10
> AS
> begin
>    if (old.AGENTID != new.AGENTID) then
>    begin
>      update USERS set USERS.AGENTID=new.AGENTID where USERS.COMPANYID =
> new.COMPANYID;
>    end
> end

http://www.postgresql.org/docs/9.5/interactive/sql-createtrigger.html

Difference in Postgres, you specify a separate function you want the
trigger to execute.

>
> CREATE PROCEDURE GET_ATA_STATUS (
>      MAC VARCHAR(128),
>      NOW_D_ INTEGER)
> RETURNS (
>      ATA_STATUS INTEGER)
> AS
> begin
>    SELECT IIF((a.TIMESTAMP_D_ + a.EXPIRE) > :NOW_D_, 1, 0) FROM ATA a
> WHERE a.ATAMAC = :MAC into :ATA_STATUS;
>    SUSPEND;
> end

http://www.postgresql.org/docs/9.5/interactive/sql-createfunction.html

In Postgres you have a choice of languages. Built in as of recent
versions are:
C
http://www.postgresql.org/docs/9.5/interactive/xfunc-c.html

SQL
http://www.postgresql.org/docs/9.5/interactive/sql-createfunction.html

and the one you probably want to start with

plpgsql
http://www.postgresql.org/docs/9.5/interactive/plpgsql.html

>
> Thanks a lot.


--
Adrian Klaver
adrian.klaver@aklaver.com


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

Предыдущее
От: John R Pierce
Дата:
Сообщение: Re: Windows performance
Следующее
От: AI Rumman
Дата:
Сообщение: template1 database is facing high datfrozenxid