SP para cambiar todos los campos strings en todas las tablas

17/04/2008 - 22:14 por marcelocabezasandrade | Informe spam
Saludos, por favor quisiera que me ayuden con ideas (o si alguien lo
tiene hecho mejor) para un stored procedure que recorra todas las
tablas de la base de datos; dentro de cada tabla que recorra los
campos tipo string (varchar, nvarchar, etc) y que busque cierta cadena
para reemplazarla con otra; por ejemplo que busque "ó" y lo reemplaze
con "o". Gracias por su tiempo.
 

Leer las respuestas

#1 Juan Diego Bueno
18/04/2008 - 13:19 | Informe spam
Hola Marcelo:

En un mensaje anterior, marcelocabezasandrade ha escrito :
Saludos, por favor quisiera que me ayuden con ideas (o si alguien lo
tiene hecho mejor) para un stored procedure que recorra todas las
tablas de la base de datos; dentro de cada tabla que recorra los
campos tipo string (varchar, nvarchar, etc) y que busque cierta cadena
para reemplazarla con otra; por ejemplo que busque "ó" y lo reemplaze
con "o". Gracias por su tiempo.



Primero, vas a tener que recurrir casi seguro a sql dinámico para
construir las consultas de actualización. Lee sobre sp_executesql en
los libros en pantalla.

Necesitas obtener los nombres de las tablas de tu base de datos. Para
eso usa la vista de sistema INFORMATION_SCHEMA.Tables

Para obtener las columnas de tu tabla, su nombre y tipo, y filtrarlas
por su tipo, usa la vista INFORMATION_SCHEMA.COLUMNS

Con un cursor recorres cada tabla y construyes una consulta dinámica
por cada una que incluya sus columnas y reemplace su valor con la
función REPLACE

Es un poco trabajo de chinos, pero no demasiado complicado

Un saludo

http://www.moondance.es

Preguntas similares