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 are its different types of dbms?
how to include character strings in sql statements? : Sql dba
How many clustered indexes can you have?
display null value rows with out using null function?
how to enter characters as hex numbers? : Sql dba
column A column b | output 10 7 | 10 5 8 | 8 7 -9 | 7 3 5 | 5 0 6 | 6 Write a sql query to print such output.
What is the difference between the implicit and explicit cursors?
what are Dynamic SQL statements?
Is there any problem if we use commit repeatedly after each dml statement in a plsq procedure ? (eg. there are 10 update stmt and using 10 commit stmt after each update stmt)
Can a foreign key be null?
What is the limitation on the block size of pl/sql?
what is the main difference between join and subqurey?
Oracle (3259)
SQL Server (4518)
MS Access (429)
MySQL (1402)
Postgre (483)
Sybase (267)
DB Architecture (141)
DB Administration (291)
DB Development (113)
SQL PLSQL (3330)
MongoDB (502)
IBM Informix (50)
Neo4j (82)
InfluxDB (0)
Apache CouchDB (44)
Firebird (5)
Database Management (1411)
Databases AllOther (288)