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