Нужна помощь в преобразовании триггера Oracle в PostgreSQL - PullRequest
0 голосов
/ 09 июня 2019

Мне нужна помощь в преобразовании приведенного ниже запроса в postgres. Любая помощь с благодарностью

 CREATE TRIGGER REQUESTOR_TRG
    BEFORE INSERT ON REQUESTOR 
    FOR EACH ROW 
    BEGIN
      <<COLUMN_SEQUENCES>>
      BEGIN
        IF INSERTING AND :NEW.ID IS NULL THEN
          SELECT REQUESTOR_SEQ.NEXTVAL INTO :NEW.ID FROM SYS.DUAL;
        END IF;
      END COLUMN_SEQUENCES;
    END; 

Ответы [ 2 ]

2 голосов
/ 09 июня 2019

Если вы хотите использовать нужную последовательность в Postgres, вы можете это сделать.

create sequence REQUESTOR_SEQ;
create table REQUESTOR ( id int DEFAULT NEXTVAL('requestor_seq') )

В противном случае достаточно столбца serial.

1 голос
/ 09 июня 2019

В Postgres вы не используете последовательности для этой цели.Просто используйте столбец serial и обходитесь без триггера:

create table requestor (
    id serial primary key,
    . . .
);
...