Ir al contenido principal

Buscando texto en Oracle data base

El siguiente script, nos es útil cuando deseamos buscar texto dentro de una base de datos Oracle, la idea es buscar en todas las tablas del esquema, así como en todas las columnas, es útil cuando queremos saber si un texto se encuentra dentro de alguna columna, a continuación el código:

SET SERVEROUTPUT ON SIZE 100000

DECLARE
match_count INTEGER;
BEGIN
FOR t IN (SELECT table_name, column_name, data_type FROM user_tab_columns) LOOP
--dbms_output.put_line( t.table_name ||' '||t.column_name );
IF t.data_type = 'VARCHAR2' THEN

EXECUTE IMMEDIATE
'SELECT COUNT(*) FROM '||t.table_name||' WHERE '||t.column_name||' like :1 '
INTO match_count
USING 'algun texto aqui';

IF match_count > 0 THEN
dbms_output.put_line( t.table_name ||' '||t.column_name||' '||match_count );
END IF;

END IF;
END LOOP;

END;

Simplemente, cambie la línea:

USING 'algún texto aquí';

Por el texto o criterio de búsqueda que desea.

Comentarios

mchaconr dijo…
Informe de error:
ORA-00904: "CEDULA": identificador no válido
ORA-06512: en línea 7
00904. 00000 - "%s: invalid identifier"
*Cause:
*Action:
COB_PATEN_LIC NUM_PATENTE 2
DATOS_DIREC_PATENTES NUM_PATENTE 1
DATOS_PROP_PAT_LICORES NUM_PATENTE 1
COB_PATEN_LIC NUM_PATENTE 2
DATOS_DIREC_PATENTES NUM_PATENTE 1
DATOS_PROP_PAT_LICORES NUM_PATENTE 1

Entradas más populares de este blog

Pasos para remover Postgresql 8.3 en MAC OS

Tomado de: http://forums.enterprisedb.com/posts/list/1437.page In Mac OSX: (Assuming Default Locations) Via uninstaller: 1) In the installation directory, there will be a uninstall-postgresql.app file will be there, executing (double clicking) that will uninstall the postgresql installation. Manual Uninstallation: 1) Stop the server sudo /sbin/SystemStarter stop postgresql-8.3 2) Remove menu shortcuts: sudo rm -rf /Applications/PostgreSQL 8.3 3) Remove the ini file sudo rm -rf /etc/postgres-reg.ini 4) Removing Startup Items sudo rm -rf /Library/StartupItems/postgresql-8.3 5) Remove the data and installed files sudo rm -rf /Library/PostgreSQL/8.3 6) Delete the user postgres sudo dscl . delete /users/postgres

Enrique Bunbury - 3 de Octubre 2009 - Heredia CR

Via periodico la nacion, me entero de este conciertazo: http://www.nacion.com/viva/2009/julio/29/viva2042768.html Ah esperar mas detalles y la venta de la entradas, "Para solo si me perdonas ..." EDIT ..... Via http://www.enriquebunbury.com/hellville.aspx (gracias a andres por su post) venta anticipada: Entradas a la venta a partir del 13 de agosto en: www.costaricaticket.com Por ahi estare anunciando, el 13 si las estan vendiendo!

Depeche Mode - Costa Rica - 8 de Octubre 2009

Que año de conciertos, primero Jaguares, ahora los Cadillacs y en Octubre Depeche Mode, solo nos falta RadioHead, para ser feliz. Así como lo oyen; desde el sitio principal de Depeche (clickea aquí ), pueden ver la siguiente fecha: Thursday, October 8th, 2009 San Jose, Costa Rica En venta: June 15th, 2009 Demasiado bueno!!!!! La cita será en Octubre, eso si no nos mata la fiebre porcina :( saludos, J