[Pgsql-ayuda] Auxilio com SELECT NEXTVAL.....Por Favor

Alvaro Herrera alvherre@dcc.uchile.cl
Wed, 24 Sep 2003 14:24:18 -0400


On Wed, Sep 24, 2003 at 09:53:36AM -0300, carlosespinoza wrote:
> trato de cargar el resultado de un SELECT NEXTVAL
> ('Cliente_ID_SEQ') a una variable de esta forma:
> 
> CREATE FUNCTION AutoIncCliente () RETURNS TRIGGERS AS'
>      BEGIN
>            NEW.IDCliente := SELECT NEXTVAL
> ('Cliente_IDCliente_SEQ');
>            RETURN NEW;
>      END;' LANGUAGE 'plpgsql';
> CREATE TRIGGER AutoNumberCliente BEFORE INSERT ON CLIENTE
> FOR EACH ROW EXECUTE PROCEDURE AutoIncCliente();

Huh... y no es mas sencillo decir
CREATE TABLE ... (
	IDCliente SERIAL, 
	...
);

?

Si de todas maneras necesitas el trigger, yo intentaria
SELECT nextval('Cliente_IDCliente_seq') into NEW.IDCliente;
en lugar de la asignacion directa :=

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"Tiene valor aquel que admite que es un cobarde" (Fernandel)