[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]Perdon por el off-topic, pero no encuentro como solucionar mi problema, que por cierto esta muy sencillo ) Tengo una base de datos, en la cual realizan consultas desde el web, eliminan registros o dan de alta registros, ( lo hago con php 3.0.9 ) hasta aqui todo me funciona, sin embargo es necesario que esta base de datos sea actualizada en ocaciones mediante un archivo que tengo en Ascii. el cual lo recibo desde una pagina web. el problema es como le hago para decidir que usar si un INSERT o un UPDATE., es decir. Mi base de datos contiene una tabla con estos registros. 1*Fulano de Tal *Allende 320, colonia azteca 2*Perengano de Su*Madero 4020, franccionamiento norte Mi archivo ascci que actualizara la base de datos tiene estos dos registros 1:Fulano de Tal :Allende 1100, colonia azteca mixcoat 3:Mengano de Tal:Zaragoza 400, col centro Por lo tanto el regitro 1 de actualiza y el 3 se inserta para que la tabla de la db quede asi. 1*Fulano de Tal *Allende 1100, colonia azteca mixcoat 2*Perengano de Su*Madero 4020, franccionamiento norte 3*Mengano de Tal *Zaragoza 400, col centro Ya he intentado con varias forma pero no me jala, alguna sugerencia ? Al parecer no me va a quedar de otra que meter el archivo a dos bases de datos ( ya que noy a borrar el original ) temporales. y de ahi hacer manipular los registros de uno por uno. Saludos Pepe Paniagua ---------------------------------------- Posdata: De una vez le incluyo algo supersencillo de lo que hago una vez que recibo el archivo lista.txt #!/usr/bin/perl use DBI; use CGI; # Variables generales para conectarme a la base de datos $servidor = "miservidor.com"; $puerto = "5432"; $usuario = "usupostgres"; $password = "mipassword"; $basedato = "clientes"; # PRIMERO ME CONECTO A LA BASE DE DATOS $dbh = DBI->connect("DBI:Pg:dbname=$basedato","$usuario","$password") || die "No se puede conectar a la base de datos, error : $DBI::errstr"; if ( !defined $dbh ) { die "Ejele algo se te sebo pepe !\n"; } # AHORA VOY A REALIZAR UNA INSERCION de varios al mismo tiempo # PRIMERO PREPARO EL COMANDO $sth = $dbh->prepare( " COPY usuarios FROM '/usr/local/apache/cgi-bin/dbi/lista.txt' USING DELIMITERS ':' "); if ( !defined $sth ) { die "Ya valio madrest: $DBI::errstr\n"; } # SEGUNDO ahora debo de ejecutar el comando $sth->execute; # por ultimo me desconecto de la base de datos $dbh->disconnect;