INSERT de múltiples columnas en pg8.1

Lists: vepug
From: Edwind Richzendy Contreras Soto <richzendy(at)gmail(dot)com>
To: vepug(at)postgresql(dot)org
Subject: INSERT de múltiples columnas en pg8.1
Date: 2009-10-23 12:43:45
Message-ID: 90ba020d0910230543k925e3a3u9b7dcec98f891efb@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: vepug

Compañeros, leyendo la documentación de como hacer un INSERT para
múltiples columnas ( row ) [1], consigo un ejemplo el cual aplicado a
mi versión de 8.1 da error de sintaxys.

To insert multiple rows using the multirow VALUES syntax:

INSERT INTO films (code, title, did, date_prod, kind) VALUES
('B6717', 'Tampopo', 110, '1985-02-10', 'Comedy'),
('HG120', 'The Dinner Game', 140, DEFAULT, 'Comedy');

Estoy usando esta misma sintaxys, de hecho el SQL lo generó phpPgAdmin
pero exportando el sql desde un postgreSQL 8.2, dicho archivo SQL se
importa en PG8.2 y funciona perfecto, pero al intentar importarlo en
PG 8.1 da los errores de sinstaxys.

Alguien conoce alguna sintaxys adecuada? que no sea:

INSERT INTO films (code, title, did, date_prod, kind) VALUES
('B6717', 'Tampopo', 110, '1985-02-10', 'Comedy');
INSERT INTO films (code, title, did, date_prod, kind) VALUES
('HG120', 'The Dinner Game', 140, DEFAULT, 'Comedy');

[1] http://www.postgresql.org/docs/8.2/static/sql-insert.html


From: Harold A(dot) Giménez <harold(dot)gimenez(at)gmail(dot)com>
To: Edwind Richzendy Contreras Soto <richzendy(at)gmail(dot)com>
Cc: vepug(at)postgresql(dot)org
Subject: Re: [vepug] INSERT de múltiples columnas en pg8.1
Date: 2009-10-23 12:53:06
Message-ID: c807ef1a0910230553m5594bad1l792c259cb049f1ea@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: vepug

Parece que en 8.1 no se podía insertar multples valores un solo
INSERT. Se me ocurre intentar esto (aunque no lo puedo probar en 8.1):

INSERT INTO films (code, title, did, date_prod, kind)
SELECT 'B6717', 'Tampopo', 110, '1985-02-10', 'Comedy'
UNION
SELECT 'HG120', 'The Dinner Game', 140, DEFAULT, 'Comedy';

(o instala 8.4?)

Saludos,
-H

2009/10/23 Edwind Richzendy Contreras Soto <richzendy(at)gmail(dot)com>:
> Compañeros, leyendo la documentación de como hacer un INSERT para
> múltiples columnas ( row ) [1], consigo un ejemplo el cual aplicado a
> mi versión de 8.1 da error de sintaxys.
>
>  To insert multiple rows using the multirow VALUES syntax:
>
> INSERT INTO films (code, title, did, date_prod, kind) VALUES
>    ('B6717', 'Tampopo', 110, '1985-02-10', 'Comedy'),
>    ('HG120', 'The Dinner Game', 140, DEFAULT, 'Comedy');
>
> Estoy usando esta misma sintaxys, de hecho el SQL lo generó phpPgAdmin
> pero exportando el sql desde un postgreSQL 8.2, dicho archivo SQL se
> importa en PG8.2 y funciona perfecto, pero al intentar importarlo en
> PG 8.1 da los errores de sinstaxys.
>
> Alguien conoce alguna sintaxys adecuada? que no sea:
>
> INSERT INTO films (code, title, did, date_prod, kind) VALUES
> ('B6717', 'Tampopo', 110, '1985-02-10', 'Comedy');
> INSERT INTO films (code, title, did, date_prod, kind) VALUES
> ('HG120', 'The Dinner Game', 140, DEFAULT, 'Comedy');
>
>
> [1] http://www.postgresql.org/docs/8.2/static/sql-insert.html
>
> --
> Sent via vepug mailing list (vepug(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/vepug
>


From: Santiago Zarate <santiago(at)zarate(dot)net(dot)ve>
To: vepug(at)postgresql(dot)org
Subject: Re: Re: [vepug] INSERT de múltiples columnas en pg8.1
Date: 2009-10-23 15:44:54
Message-ID: 200910231115.05356.santiago@zarate.net.ve
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: vepug

De acuerdo con la documentacion, esta caracteristica la agregaron apartir de la 8.2
http://www.postgresql.org/docs/8.2/static/sql-insert.html

Si no puedes actualizar el server, porque no lo haces atravez de un procedimiento
almacenado? o usa copy~ (atravez de psql...) creo que se podria hacer

On Vie 23 Oct 2009 08:23:06 Harold A. Giménez escribió:
> Parece que en 8.1 no se podía insertar multples valores un solo
> INSERT. Se me ocurre intentar esto (aunque no lo puedo probar en 8.1):
>
> INSERT INTO films (code, title, did, date_prod, kind)
> SELECT 'B6717', 'Tampopo', 110, '1985-02-10', 'Comedy'
> UNION
> SELECT 'HG120', 'The Dinner Game', 140, DEFAULT, 'Comedy';
>
> (o instala 8.4?)
>
> Saludos,
> -H
>
> 2009/10/23 Edwind Richzendy Contreras Soto <richzendy(at)gmail(dot)com>:
> > Compañeros, leyendo la documentación de como hacer un INSERT para
> > múltiples columnas ( row ) [1], consigo un ejemplo el cual aplicado a
> > mi versión de 8.1 da error de sintaxys.
> >
> > To insert multiple rows using the multirow VALUES syntax:
> >
> > INSERT INTO films (code, title, did, date_prod, kind) VALUES
> > ('B6717', 'Tampopo', 110, '1985-02-10', 'Comedy'),
> > ('HG120', 'The Dinner Game', 140, DEFAULT, 'Comedy');
> >
> > Estoy usando esta misma sintaxys, de hecho el SQL lo generó phpPgAdmin
> > pero exportando el sql desde un postgreSQL 8.2, dicho archivo SQL se
> > importa en PG8.2 y funciona perfecto, pero al intentar importarlo en
> > PG 8.1 da los errores de sinstaxys.
> >
> > Alguien conoce alguna sintaxys adecuada? que no sea:
> >
> > INSERT INTO films (code, title, did, date_prod, kind) VALUES
> > ('B6717', 'Tampopo', 110, '1985-02-10', 'Comedy');
> > INSERT INTO films (code, title, did, date_prod, kind) VALUES
> > ('HG120', 'The Dinner Game', 140, DEFAULT, 'Comedy');
> >
> >
> > [1] http://www.postgresql.org/docs/8.2/static/sql-insert.html
> >
> > --
> > Sent via vepug mailing list (vepug(at)postgresql(dot)org)
> > To make changes to your subscription:
> > http://www.postgresql.org/mailpref/vepug
>

--
Santiago Zarate
santiago(at)zarate(dot)net(dot)ve
(+58) 4129864175
(+58) 4241073905