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
What is execute immediate?
What is a primary key called that is made up of more than one field?
what is a database lock ? : Sql dba
What is sqlservr exe?
What is left inner join in sql?
What is data types in sql?
Can a view be updated/inserted/deleted?If Yes under what conditions?
Why function is used in sql?
How to run sql*plus commands in sql developer?
Why you are not able to create a table using select command,if it is having a LONG column? for eg:create table test as select * from test1 here test1 containg a column having LONG datatype...
what is meant by databases
select sal from emp group by sal