[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