declare
n_reccount number;
nSQL NUMBER;
sqlcmd VARCHAR2(2048);
my_count NUMBER;
ret NUMBER;
begin
nSQL := DBMS_SQL.OPEN_CURSOR;
for var in (select table_name from user_tables) loop
sqlcmd := 'SELECT COUNT(*) FROM :TBNAME';
DBMS_SQL.PARSE( nSQL, sqlcmd, DBMS_SQL.v7 ) ;
DBMS_SQL.BIND_VARIABLE( nSQL, ':TBNAME', var.table_name ) ;
DBMS_SQL.DEFINE_COLUMN( nSQL, 1, my_count ) ;
ret := DBMS_SQL.EXECUTE( nSQL ) ;
LOOP
IF DBMS_SQL.FETCH_ROWS( nSQL ) = 0 THEN
EXIT;
END IF;
DBMS_SQL.COLUMN_VALUE( nSQL, 1, my_count ) ;
END LOOP;
dbms_output.put_line('Table_Name '||var.table_name
'Record_Count '||my_count);
end loop
n_reccount number;
nSQL NUMBER;
sqlcmd VARCHAR2(2048);
my_count NUMBER;
ret NUMBER;
begin
nSQL := DBMS_SQL.OPEN_CURSOR;
for var in (select table_name from user_tables) loop
sqlcmd := 'SELECT COUNT(*) FROM :TBNAME';
DBMS_SQL.PARSE( nSQL, sqlcmd, DBMS_SQL.v7 ) ;
DBMS_SQL.BIND_VARIABLE( nSQL, ':TBNAME', var.table_name ) ;
DBMS_SQL.DEFINE_COLUMN( nSQL, 1, my_count ) ;
ret := DBMS_SQL.EXECUTE( nSQL ) ;
LOOP
IF DBMS_SQL.FETCH_ROWS( nSQL ) = 0 THEN
EXIT;
END IF;
DBMS_SQL.COLUMN_VALUE( nSQL, 1, my_count ) ;
END LOOP;
dbms_output.put_line('Table_Name '||var.table_name
'Record_Count '||my_count);
end loop
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货