首页 > 解决方案 > 在将 Oracle 触发器转换为 PostgreSQL 时需要帮助

问题描述

我需要帮助将以下查询转换为 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; 

标签: oraclepostgresqlpostgresql-9.1database-trigger

解决方案


如果您想在 Postgres 中使用所需的序列,您可以这样做。

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

否则一serial列就足够了。


推荐阅读