Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

147
Vistas
Oracle to PostgreSQL translate

I am migrating Oracle DLL to PostgreSQL, I am having an issue translate the following piece of code to PostgreSQL

-- Generate ID using sequence and trigger
CREATE SEQUENCE partner_seq START WITH 1 INCREMENT BY 1;

CREATE OR REPLACE TRIGGER partner_seq_tr
 BEFORE INSERT ON partner FOR EACH ROW
 WHEN (NEW.idPartner IS NULL)
BEGIN
 SELECT partner_seq.NEXTVAL INTO :NEW.idPartner FROM DUAL;
END;
/
-- CREATE UNIQUE INDEX partner_idxName ON partner (Name);
-- COMMIT; 
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

You don't actually need a trigger in Postgres for that. Simply declare the column as

idpartner integer generated always as identity

And Postgres will use the (automatically created) sequence automatically if the column is not specified as a target column in the INSERT statement.

Alternatively, if you really want a trigger:

create sequence partner_seq;

create function assign_partner_id()
  returns trigger
as
$$
begin 
  if new.idpartner is null then 
     new.idpartner := nextval('partner_seq');
  end if;
  return new;
end;
$$
language plpgsql;

create trigger partner_seq_trg
  before on partner insert on each row
  execute procedure assign_partner_id();
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda