From: | "Fernando Hevia" <fhevia(at)ip-tel(dot)com(dot)ar> |
---|---|
To: | "'Conrado Blasetti'" <conrado(at)mapfre(dot)com(dot)ar>, <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RE: Subir plano o tabla |
Date: | 2009-05-20 13:56:48 |
Message-ID: | AE7EC5EE069D4BB5BD7346FB0205E9ED@iptel.com.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
> -----Mensaje original-----
> De: Conrado Blasetti
>
> Gente, buenos días.
>
> Consulta, tengo un archivo plano para subir a una tabla con
> COPY, el plano tiene N columnas pero la tabla como primer
> campo tiene el ID propio de tabla del tipo serial, ej:
>
>
> Tabla
>
> Id serial,
> Campo1,
> Campo2,
> Campo3,
> CampoN
>
> Plano
>
> Campo1,
> Campo2,
> Campo3,
> CampoN
>
> La consulta es, es posible decirle al COPY de alguna manera
> que el primer campo no viene informado en el plano y tiene
> que ir a buscar la sequence?
>
> Si no se puede, no problem, creo una tabla X con la misma
> estructura del plano y luego relleno la final por sql.
>
Es posible.
Primero tenés que setear el default de la columna para que tome el valor de
la secuencia:
ALTER TABLE mi_tabla
ALTER COLUMN columna_serial SET DEFAULT nextval('mi_secuencia');
Luego en el COPY directamente no menciones esa columna.
Al hacer la inserción Postgres le asignará el valor de la secuencia.
Saludos,
Fernando.
From | Date | Subject | |
---|---|---|---|
Next Message | Luis A. Zevallos Cárdenas | 2009-05-20 14:11:09 | Consulta sobre pg_column_size() |
Previous Message | Oswaldo Hernández | 2009-05-20 13:54:29 | The database cluster was initialized without HAVE_INT64_TIMESTAMP |