Hi,
I've found the answer.
DECLARE
countval NUMBER;
curid BINARY_INTEGER;
retval NUMBER;
BEGIN
for i in (select OWNER,TABLE_NAME from DBA_TABLES WHERE ROWNUM) loop
curid:= dbms_sql.open_cursor;
dbms_sql.parse( curid, 'BEGIN SELECT count(*) INTO :cntval FROM '||
i.owner||'.'||i.table_name||'; END;', dbms_sql.v7 );
dbms_sql.bind_variable( curid, 'cntval', countval );
retval:= dbms_sql.execute( curid );
dbms_sql.variable_value( curid, 'cntval', countval );
dbms_sql.close_cursor( curid );
dbms_output.put_line( 'Count is:= ' || countval );
end loop;
END;
/
Regds,
New Bee
-----Original Message-----
From: CHAN Chor Ling Catherine (CSC)
Sent: Thursday, October 17, 2002 4:12 PM
To: '[EMAIL PROTECTED]'
Subject: How to get the count of all tables using
dbms_sql
Hi,
I need to insert the total number of records all the tables
into the table, MIGRATION_TABLE. I want to use the
How do I obtain the count(*) into a variable in
"dbms_sql.parse(cid, 'SELECT COUNT(*) FROM ' ||i.owner||'.'||i.table_name,
dbms_sql.v7); " ?
TIA
Declare
cid INTEGER;
BEGIN
for i in (select OWNER,TABLE_NAME from DBA_TABLES) loop
-- Open new cursor and return cursor ID.
cid := dbms_sql.open_cursor;
/* Parse and immediately execute dynamic SQL statement
built by
concatenating table name to DROP TABLE command.
(Unlike DML
statements, DDL statements are executed at parse
time.) */
dbms_sql.parse(cid, 'SELECT COUNT(*) FROM '
||i.owner||'.'||i.table_name, dbms_sql.v7);
/* Close cursor. */
dbms_sql.close_cursor(cid);
end loop;
EXCEPTION
/* If an exception is raised, close cursor before
exiting. */
WHEN OTHERS THEN
dbms_sql.close_cursor(cid);
END;
Regds,
New Bee
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: CHAN Chor Ling Catherine (CSC)
INET: [EMAIL PROTECTED]
Fat City Network Services -- 858-538-5051 http://www.fatcity.com
San Diego, California -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).