Prueba esto:

    
INSERT INTO tabla2 SELECT campo1,campo2,... FROM tabla1;


Para más información:

http://www.postgresql.org/docs/8.4/static/dml-update.html




ing. José Fermín Francisco Ferreras 
San Francisco de Macorís, Rep. Dom. 




> Date: Fri, 30 Apr 2010 12:44:11 -0400
> To: pgsql-es-ayuda@postgresql.org
> Subject: [pgsql-es-ayuda] Insert a partir de un select
> From: este...@princesa.pri.sld.cu
> 
> Hola a todos,
> 
> Necesito hacer un insert a partir de un select, algo así como,
> 
> tengo estas dos tablas y necesito hacer un insert masivo en la segunda a  
> partir de la primera, he probado esto pero nada y tengo un poco premura,  
> necesito ayuda.
> 
> INSERT INTO mayor  
> (fecha,id_usu,id_cpa,id_uni,cuenta,subcuenta,id_ncu,saldo) VALUES IN  
> (SELECT fecha,id_usu,id_cpa,id_uni,cuenta,subcuenta,id_ncu,saldo_final  
> WHERE fecha'una_fecha_dada');
> 
> 
> /*
>   * mayor
>   */
> 
> CREATE TABLE mayor(
>      id_may serial UNIQUE PRIMARY KEY,
>      fecha timestamp DEFAULT now(),
>      id_usu int REFERENCES usuarios(id_usu),
>      id_cpa int REFERENCES centros_pagos(id_cpa),
>      id_uni int REFERENCES unidades(id_uni),
>      cuenta varchar(3) NOT NULL,
>      subcuenta varchar(4) DEFAULT '0000',
>      id_ncu int REFERENCES naturaleza_cuentas(id_ncu),
>      descripcion varchar(50) NOT NULL,
>      saldo_inicial numeric(10,2) DEFAULT 0.00 CONSTRAINT  
> saldo_inicial_positivo CHECK(saldo_inicial>=0),
>      debito numeric(10,2) DEFAULT 0.00 CONSTRAINT debito_positivo  
> CHECK(debito>=0),
>      credito numeric(10,2) DEFAULT 0.00 CONSTRAINT credito_positivo  
> CHECK(credito>=0),
>      saldo_final numeric(10,2) DEFAULT 0.00
> );
> 
> /*
>   * mayor_historia
>   */
> 
> CREATE TABLE mayor_historia(
>      id_mhi serial UNIQUE PRIMARY KEY,
>      fecha timestamp DEFAULT now(),
>      id_usu int REFERENCES usuarios(id_usu),
>      id_pro int REFERENCES provincias(id_pro),
>      id_mun int REFERENCES municipios(id_mun),
>      id_cpa int REFERENCES centros_pagos(id_cpa),
>      id_uni int REFERENCES unidades(id_uni),
>      cuenta varchar(3) NOT NULL,
>      subcuenta varchar(4) DEFAULT '0000',
>      id_ncu int REFERENCES naturaleza_cuentas(id_ncu),
>      saldo numeric(10,2) DEFAULT 0.00
> );
> 
> -- 
> Saludos,
> 
> Luis
> 
> --
> 
> Este mensaje le ha llegado mediante el servicio de correo electronico que 
> ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema 
> Nacional de Salud. La persona que envia este correo asume el compromiso de 
> usar el servicio a tales fines y cumplir con las regulaciones establecidas
> 
> Infomed: http://www.sld.cu/
> -
> 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