Question:
I have an Oracle dataase where I want to be able to loop
through all of the tables in my schema. How do you
write a script that loops through all tables in a database?
Answer: There are two way to loop
through all tables in a database, depending on what you want
to do. Also see my notes on
loop_between_multiple_servers and databases
Method 1: Loop through all tables in
SQL*Plus
spool runme.sql
select
'alter table
'||table_name||' pctfree 10;'
from
all_tables where owner = 'SCOTT;
spool off
runme.sql
Method 2: Loop through all tables using PL/SQL.
This will loop though all columns in the database:
(pseudocode: not tested)
DECLARE CURSOR
all_my_tables
IS SELECT COLUMN_NAME,
TABLE_NAME, DATA_TYPE from USER_COLUMNS
order by column_name;
varchar_count integer;
BEGIN
FOR my_list IN all_my_tables LOOP
IF column_type in (VARCHAR, VARCHAR2) then
varchar_count:=varchar_count+1 ;
execute immediate . . .
END LOOP;
utl_file.put_ine(varchar_count);
END;
/
There are other ways of looping through all tables and
all columns within you database using SQL.
|
|
|
Oracle Training from Don Burleson
The best on site
"Oracle
training classes" are just a phone call away! You can get personalized Oracle training by Donald Burleson, right at your shop!

|
|
|
|
|
Burleson is the American Team

Note:
This Oracle
documentation was created as a support and Oracle training reference for use by our
DBA performance tuning consulting professionals.
Feel free to ask questions on our
Oracle forum.
Verify
experience!
Anyone
considering using the services of an Oracle support expert should
independently investigate their credentials and experience, and not rely on
advertisements and self-proclaimed expertise. All legitimate Oracle experts
publish
their Oracle
qualifications.
Errata?
Oracle technology is changing and we
strive to update our BC Oracle support information. If you find an error
or have a suggestion for improving our content, we would appreciate your
feedback. Just
e-mail:
and include the URL for the page.
Copyright © 1996 - 2020
All rights reserved by
Burleson
Oracle ®
is the registered trademark of Oracle Corporation.
|
|