Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Editar Todos los registros de un campo en una Base de datos

Estas en el tema de Editar Todos los registros de un campo en una Base de datos en el foro de Bases de Datos General en Foros del Web. Hola amigos, Tengo una consulta a ver si me pueden ayudar o saber si esto se puede hacer y como hacerlo. Tengo 30 mil registros ...
  #1 (permalink)  
Antiguo 30/09/2010, 14:36
Avatar de saymon  
Fecha de Ingreso: septiembre-2003
Ubicación: Panama
Mensajes: 318
Antigüedad: 20 años, 7 meses
Puntos: 0
Editar Todos los registros de un campo en una Base de datos

Hola amigos,

Tengo una consulta a ver si me pueden ayudar o saber si esto se puede hacer y como hacerlo.

Tengo 30 mil registros en una base de datos SQL, en un campo llamado "Link" tengo registros de eta manera:

http://misitio.com/a.swf?id=3554_2&revid=336633

Todos los registros son asi de esa manera, solamente cambia el id, ahora bien a todos esos links necesito añadirle al final "&nopop=1" que queden de esta manera:

http://misitio.com/a.swf?id=3554_2&revid=336633&nopop=1

Hay alguna forma de hacerlo con una sentencia SQL ? o algun modo que ustedes conoscan que pueda hacer esto ? ejemplo "Find & replace" de dreamweaver, pero imaginense solamente con tratar de abrir algunas miles de linea alli se me colgó.

Les agradesco la ayuda de antemano.
Gracias
  #2 (permalink)  
Antiguo 01/10/2010, 10:51
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Editar Todos los registros de un campo en una Base de datos

Buenos Días saymon En SQL Server podrías hacerlo así:

Código SQL:
Ver original
  1. --Declaramos una tabla temporal
  2. DECLARE @Links TABLE(link VARCHAR(100))
  3. --Insertamos algunos registros de ejemplo
  4. INSERT INTO @Links VALUES('http://misitio.com/a.swf?id=3554_2&revid=336633')
  5. INSERT INTO @Links VALUES('http://misitio.com/a.swf?id=3554_3&revid=336633')
  6. INSERT INTO @Links VALUES('http://misitio.com/a.swf?id=3554_4&revid=336633')
  7. --Mostramos la tabla original
  8. SELECT * FROM @Links
  9. --Actualizamos el campo link
  10. UPDATE @Links SET link = link + '&nopop=1'
  11. --Mostramos la tabla final
  12. SELECT * FROM @Links

Si utilizas algún otro DBMS sería cuestión que verifiques la forma en que se concatenan las cadenas (en oracle por ejemplo es utilizando ||)

Saludos y espero tus comentarios.
  #3 (permalink)  
Antiguo 01/10/2010, 11:01
Avatar de saymon  
Fecha de Ingreso: septiembre-2003
Ubicación: Panama
Mensajes: 318
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: Editar Todos los registros de un campo en una Base de datos

Hola Leonardo, gracias por tu respuesta, aunque seria de buena ayuda saber como se haria para MySQL que es la base de dato que estoy usando.
  #4 (permalink)  
Antiguo 01/10/2010, 11:33
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Editar Todos los registros de un campo en una Base de datos

Cita:
Iniciado por saymon Ver Mensaje
Hola Leonardo, gracias por tu respuesta, aunque seria de buena ayuda saber como se haria para MySQL que es la base de dato que estoy usando.
Tal como te comenté en mi post

Cita:
Si utilizas algún otro DBMS sería cuestión que verifiques la forma en que se concatenan las cadenas
Para MySQL existe la función CONCAT, por lo tanto sería más o menos así:

Código SQL:
Ver original
  1. #Creamos una tabla de ejemplo
  2. CREATE TABLE links (link VARCHAR(100));
  3. #insertamos algunos registros
  4. INSERT INTO links VALUES ( 'http://misitio.com/a.swf?id=3554_1&revid=336633');
  5. INSERT INTO links VALUES ( 'http://misitio.com/a.swf?id=3554_2&revid=336633');
  6. INSERT INTO links VALUES ( 'http://misitio.com/a.swf?id=3554_3&revid=336633');
  7. #mostramos la tabla original
  8. SELECT * FROM links;
  9. #actualizamos el contenido de la tabla
  10. UPDATE links SET link = concat(link, '&nopop=1');
  11. #mostramos la tabla final
  12. SELECT * FROM links;

Saludos.
Leo

Etiquetas: registros, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:41.