DECLARE MATCH_COUNT NUMBER(10); V_OWNER VARCHAR2(128) :='PBKS'; V_DATA_TYPE VARCHAR2(128) :='VARCHAR2'; V_SEARCH_STRING VARCHAR2(4000) :='''%AVIVASA%'''; V_SQL VARCHAR2(250); BEGIN FOR X IN ( SELECT OWNER, TABLE_NAME, COLUMN_NAME FROM ALL_TAB_COLS WHERE OWNER=V_OWNER AND DATA_TYPE=V_DATA_TYPE ) LOOP V_SQL:= 'SELECT COUNT(*) FROM '||X.OWNER||'.'||X.TABLE_NAME||' WHERE '||X.COLUMN_NAME||' LIKE '||V_SEARCH_STRING||''; EXECUTE IMMEDIATE V_SQL INTO MATCH_COUNT; IF MATCH_COUNT > 0 THEN DBMS_OUTPUT.PUT_LINE( X.OWNER||'.'||X.TABLE_NAME ||' '||X.COLUMN_NAME||' '||MATCH_COUNT); END IF; END LOOP; END;