Ver Mensaje Individual
  #7 (permalink)  
Antiguo 24/10/2006, 13:39
alezaph
 
Fecha de Ingreso: abril-2002
Mensajes: 118
Antigüedad: 22 años
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