> El 3 de mayo de 2011 10:30, Julio Cesar Rodriguez Dominguez
> <jura...@gmail.com> escribió:
>>
>> El día 3 de mayo de 2011 07:35, iescriva <iescr...@gmail.com> escribió:
>> > El 03/05/11 13:36, Marcelo Robin escribió:
>> >> Tengo una aplicación en VB6 y resulta que tengo una tabla en postgresql
>> >> donde la clave primaria es un campo de tipo serial. En otras bases se
>> >> traduciría en un "autonumerico"... cuando hago el insert no se
>> >> serializa
>> >> automaticamente...
>> >> por ejemplo tengo:
>> >>
>> >> INSERT INTO com.bultos(id, bulto, bulto_corto) VALUES (?, ?, ?);
>> >
>> >
>> > Al crear la tabla asignas a id el tipo SERIAL, luego en el insert no le
>> > pases el valor para el campo id.
>> >
>> >
>> > CREATE TABLE com.bultos(
>> >  id SERIAL PRIMARY KEY,
>> >  bulto integer,
>> >  bulto_corto integer
>> >
>> > );
>> >
>> > INSERT INTO com.bultos(bulto, bulto_corto) VALUES (1, 1);
>> > INSERT INTO com.bultos(bulto, bulto_corto) VALUES (1, 2);
>> > INSERT INTO com.bultos(bulto, bulto_corto) VALUES (2, 1);
>>
>> Aveces es una tablas con una lista grande de campos a insertar, para
>> evitar listar todos, puede usar default en el campo serial:
>> INSERT INTO com.bultos VALUES (default,2, 1);
>> -
>> Enviado a la lista de correo pgsql-es-ayuda
>> (pgsql-es-ayuda@postgresql.org)
>> Para cambiar tu suscripción:
>> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>
>

El día 3 de mayo de 2011 08:51, Marcelo Robin <marceloro...@gmail.com> escribió:
> Tomando como default me lo toma como serial ?
> Estaba viendo que tengo el id definido de otra forma...
> CREATE TABLE com.bultos
> (
>   id bigint NOT NULL,
>   bulto text,
>   bulto_corto text,
>   CONSTRAINT bultos_pkey PRIMARY KEY (id)
> )
> WITHOUT OIDS;
> ALTER TABLE com.bultos OWNER TO ariel;
> GRANT ALL ON TABLE com.bultos TO ariel WITH GRANT OPTION;
> GRANT ALL ON TABLE com.bultos TO public;
>
>

No, la columna debió de ser definido como serial, pero en su defecto
puedes crearlo.

CREATE  SEQUENCE tabla_id_seq;
ALTER TABLE tabla ALTER COLUMN id SET DEFAULT nextval('tabla_id_seq');
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a