create or replace procedure search_matter(empno varchar2)
as

sql_stmt varchar2(200);
stmt varchar2(200);
v_table_name varchar2(200);
val_pres number;
inp_value varchar2(200);

type obj_typ is table of cols.column_name%type
index by binary_integer;

type all_col is table of varchar2(100)
index by binary_integer;

typ_obj_typ obj_typ;
typ_all_col all_col;

begin

select object_name
bulk collect into typ_obj_typ
from user_tables,user_objects
where table_name = object_name
AND object_type = 'TABLE';

select empno into inp_value from dual;
dbms_output.put_line('inp value : '||inp_value);

for i in typ_obj_typ.first..typ_obj_typ.last
loop
v_table_name := NULL;
v_table_name := typ_obj_typ(i);
dbms_output.put_line(i||':'||typ_obj_typ(i));
dbms_output.put_line('....................');

sql_stmt := 'select column_name from cols where table_name = :1 and data_type in (''CHAR'', ''VARCHAR2'', ''NCHAR'', ''NVARCHAR2'',''NUMBER'')';
EXECUTE IMMEDIATE sql_stmt bulk collect into typ_all_col using typ_obj_typ(i);

for inside in typ_all_col.first..typ_all_col.last loop
dbms_output.put_line('sql stmt: '||sql_stmt);
dbms_output.put_line('column name: '||typ_all_col(inside)||'table name: '||typ_obj_typ(i));

stmt := 'select count(*) from ||typ_obj_typ(i)||';
EXECUTE_IMMEDIATE stmt into val_pres ;
if val_pres = 1 then
dbms_output.put_line('value present col name: '||typ_all_col(inside)||'table name :'||typ_obj_typ(i));
end if;

end loop;
dbms_output.put_line('....................');
end loop;

exception when others
then
dbms_output.put_line('sql code '||sqlcode||'Table name: '||v_table_name);
dbms_output.put_line('sql message '||sqlerrm);

end;

Compile-time I am getting below error, Plz help to resolve.

LINE/COL ERROR
-------- -----------------------------------------------------------------
47/23 PLS-00103: Encountered the symbol "STMT" when expecting one of
the following:
:= . ( @ % ;


No Answer is Posted For this Question
Be the First to Post Answer

Post New Answer

More SQL PLSQL Interview Questions

How does postgresql compare to oracle/db2/ms sql server/informix?

0 Answers  


What are the two types of exceptions in pl/sql?

0 Answers  


what is the difference between trigger and storedprocedures

16 Answers   Tech Mahindra,


one of the column in my table contains the data like SAL ---- 1000 1000 2000 3000 3000 So my requirement is i want output like SAL --- 1000 2000 3000 it mean i want to delete duplicate rows in the table permanently and i want output in the above formatow should u write query?

13 Answers   Cap Gemini, TCS,


how to shutdown mysql server? : Sql dba

0 Answers  






What does truncate mean in sql?

0 Answers  


What is the difference between local variables and global variables?

0 Answers  


HP Interview -2016 Unix 1) grep command in unix 2) what is set command

1 Answers   HCL,


What is interval partition?

0 Answers  


I have a tablle like this. cust acc --------------- a 1 b 2|3 c 4|5|6 I Want below o/p: cust acc ----------- a 1 b 2 b 3 c 4 c 5 c 6 Please any one can you have any ideas share me. I have urgent requirement.

4 Answers   Cap Gemini, MTS,


Why cross join is used?

0 Answers  


Does group by remove duplicates?

0 Answers  


Categories