[Pgsql-ayuda] Insertar valores de un archivo de texto

postgres@enelserver.com postgres@enelserver.com
Sun, 11 Jan 2004 10:48:43 -0500 (EST)


> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hola,
>
> Soy nuevo en el mundo de PosgreSQL y necesito saber cómo hago para
> insertar algunos valores que tengo en un archivo [1] de texto en un
> tabla???
>
> [1] Ej.:
> "EPS034";"RC";"3393047";"HERNANDEZ";"LOPEZ";"NICOLE";"NAIAN";22/1/1999;"5"
> "EPS034";"RC";"3393047";"HERNANDEZ";"LOPEZ";"NICOLE";"NAIAN";22/1/1999;"5"
>
> Ahhh, se me olvidaba, en PosgreSQL se pueden hacer subconsultas??
>
> Hasta la próxima,
>
>
>
>
> Gustavo Adolfo Barrero Pulido
>
> GuBA
> Linux User #318688
> gustavo@linux.net
> Miembro GaLlo (http://gallo.tuxstone.net)
> Villavicencio - Meta - Colombia
>

Va

pones esto en un script que se llame digamos ...   split.pl

#!/usr/bin/perl

open (ARCHIVO , 'tuarchivoconlainformacion')
          || die ' no se abrio el archivo';

while (<ARCHIVO>){
#quitamos el enter al final del archivo
    chomp;
#reemplazamos las comillas dobles por sencillas
    $_ =~s/\"/\'/g;
# a cada linea del archivo la dividimos en campos separados por ; y lo
#ponemos en un arreglo de nombre data

    @data = split (/;/);

#armamos el comando insert con los valores del arreglo @data

    $ins  = "insert into tabla values (";

    $ins .= $data[0] .",";
    $ins .= $data[1] .",";
    $ins .= $data[2] .",";
    $ins .= $data[3] .",";
    $ins .= $data[4] .",";
    $ins .= $data[5] .",";
    $ins .= $data[6] .",";
    $ins .= "'" . $data[7] ."',";
    $ins .= $data[8] ;

    $ins .= ");\n";


    print $ins ;
                                                                                }
close ( ARCHIVO );



Ya que lo tienenes lo ejecutas:


perl  split.pl > inserts.sql

ya que tienes tu archivo inserts.sql  se lo mandas al postgresql



psql -U usuario  dasededatos  < inserts.sql


Se puede hacer que el mismo script  lo inserte en la base de datos pero es
domingo y ya va a iniciar el partido de Kansas Vs Indianapolis y seguido
de Green Bay VS Philadelphia.  De hecho la temporada termino cuando
eliminiaron a mis  49ers   Pero esto no tiene nada que ver con postgresql

Seguimos ...


 ,''`.  Leonel Nunez
: :' :  http://enelserver.com
`. `'   DEBIAN GNU/LINUX
  `-    A REAL FREE OS