Buscar palabra clave en toda una BD

17/06/2009 - 18:09 por A.M.F. | Informe spam
Hola esto es posible:

Quiero Buscar una determinada Palabra en la BD, haber si me pueden dar una
mano con esto.

Luis


__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 4163 (20090617) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
17/06/2009 - 19:13 | Informe spam
Aqui tienes un sp creado por Vyas Kondredi.

How to search all columns of all tables in a database for a keyword?
http://vyaskn.tripod.com/search_all...tables.htm


AMB


"A.M.F." wrote:

Hola esto es posible:

Quiero Buscar una determinada Palabra en la BD, haber si me pueden dar una
mano con esto.

Luis


__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 4163 (20090617) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com




Respuesta Responder a este mensaje
#2 Rubén Vigón
17/06/2009 - 19:18 | Informe spam
Hola Luis,

Hace tiempo me cayó un marrón como el que mencionas. Lo solucioné así:
___________________________________________

DECLARE @tbl sysname, @col sysname, @sql nvarchar(400)
DECLARE rst CURSOR FAST_FORWARD FOR SELECT TABLE_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE DATA_TYPE IN ('varchar', 'nvarchar') ORDER BY TABLE_NAME, COLUMN_NAME
OPEN rst
FETCH NEXT FROM rst INTO @tbl, @col
WHILE @@FETCH_STATUS = 0 BEGIN
SET @sql = N'IF EXISTS(SELECT * FROM [' + @tbl + N'] WHERE [' + @col + N'] LIKE ''%palabra%'') PRINT ''Cadena encontrada en el campo [' + @col + N'] de la tabla [' + @tbl + N']'''
EXEC sp_executesql @sql
FETCH NEXT FROM rst INTO @tbl, @col
END
CLOSE rst
DEALLOCATE rst
___________________________________________

Un saludo!

Rubén Vigón
http://vigon.mvps.org
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida