sto provando a creare un campo di autoincremento (come SERIAL) utilizzando un trigger e una sequenza. So che solo può utilizzare una sequenza o di tipo seriale sul campo, ma devo risolvere questo utilizzando entrambi i metodi (trigger e secuences)Crea campo autoincrement con trigger e sequenza in Postgres
CREATE SEQUENCE AlimentosSequencia;
CREATE OR REPLACE FUNCTION AlimentoFuncion()
RETURNS "trigger" AS
$BODY$
BEGIN
New.id:=nextval('AlimentosSequencia');
Return NEW;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
CREATE TRIGGER AlimentosTrigger
BEFORE INSERT
ON alimento
FOR EACH ROW
EXECUTE PROCEDURE AlimentoFuncion();
provo questa combinazione, ma dose non funziona, l'alimento tabella ha due campi solo, intero id (l'autoincrement con trigger e sequenza) e il nome varchar.
Qualche suggerimento?
Grazie
basta dare qualche spiegazione in più su "non funziona". –
Perché non si desidera utilizzare il semplice tipo SERIAL? –
È possibile chiamare 'nextval()' nella sequenza associata di una colonna 'serial' per altri scopi. Non c'è bisogno di complicare le cose con un grilletto. A parte questo, senza un messaggio di errore, la tua domanda è solo rumore. Includilo verbatim, per favore. –