24/10/2006, 13:39
|
| | Fecha de Ingreso: abril-2002
Mensajes: 118
Antigüedad: 22 años, 7 meses Puntos: 1 | |
Gracias ya lo encontre
Realize una funcion llamada B_Datost la cual paso por parametro la tabla y el nombre de la columna, y solamente hago una consilta y me extrae la candiad de palabras encontradas.
SELECT AT.table_name, attc.column_name, B_Datost(AT.table_name, attc.column_name, 'CHIS-TAB') dato
FROM all_tables AT, all_tab_columns attc
WHERE AT.table_name = attc.table_name
CREATE OR REPLACE FUNCTION B_Datost (TABLA VARCHAR2, COLUMNA VARCHAR, PALABRA VARCHAR)
RETURN VARCHAR2
IS
tmpvar VARCHAR2(1500);
SELECT1 VARCHAR2(1500);
str_sql VARCHAR2(1500);
BEGIN
SELECT1 :='SELECT COUNT(' || COLUMNA || ') CANT FROM ' || TABLA || ' WHERE ' || COLUMNA || ' LIKE '|| CHR(39)||'%'|| PALABRA ||'%'|| CHR(39)||'';
str_sql := SELECT1;
EXECUTE IMMEDIATE str_sql INTO tmpvar;
dbms_output.put_line(tmpvar);
RETURN tmpvar;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
RETURN '0';
WHEN OTHERS
THEN
-- Consider logging the error and then re-raise
RAISE;
END B_Datost;
/
__________________ ________________
ISC. Alejandro Zapata Hernandez |