Contar la Cantidad de Filas de Todas las Tablas de un Schema en Oracle
Publicado por Luis M.Abr 22
Contar las cantidad de filas de una tabla requiere de una sentencia SQL que cuenta la cantidad de filas dado que estas están siendo añadidas / eliminadas constantemente.
Cuando de contar la cantidad de filas de las tablas de un schema se trata, existen varias maneras de hacerlo:
- La más rápida es usando el campo num_rows de la tabla user_tables. Un inconveniente que tiene este mecanismo es que el campo num_rows conserva la cantidad de filas que contenía la tabla la última vez que se ejecutaron estadísticas sobre la misma utilizando el paquete dbms_stats.
- La manera más acertada es realizando una sentencia SQL que cuente la cantidad de filas sobre cada tabla. Este mecanismo si bien es el más acertado, también puede constituirse en algunos casos como el más demorado por los costos de base de datos y el consumo de recursos que esto implica.
Metodo 1
Usando un mecanismo aproximado pero más rápido; recurriendo a num_rows de la tabla user_tables. Deben estar conectados directamente como el usuario dueño de las tablas para que este SQL funcione de manera correcta.
SELECT 'Usuario: ' || USER FROM dual;
SELECT TABLE_NAME tabla, num_rows num_filas
FROM user_tables
ORDER BY TABLE_NAME;
Como método alterno, si tienen privilegios sobre la tabla all_tables o dba_tables pueden alternar la consulta añadiendo el usuario dueño:
SELECT TABLE_NAME tabla, num_rows num_filas
FROM dba_tables
WHERE owner = 'usuario_dueño_de_las_tablas'
ORDER BY TABLE_NAME;
Descargar Script SQL Metodo 1 alterno
Metodo 2
Contando todas las filas de las tablas en tiempo real; deben tener permisos de escritura en la carpeta donde se creará el script tmp.sql que llevará a cabo la cuenta.
SET PAGESIZE 0
SPOOL tmp.SQL
SELECT 'SELECT ''' || TABLE_NAME || ':'' || COUNT(*) ' ||
'FROM ' || TABLE_NAME || ';'
FROM user_tables
ORDER BY TABLE_NAME;
SPOOL OFF
@tmp.SQL
También pueden construir un procedimiento PL/SQL para contar la cantidad de filas de las tablas de un schema.
Si lo desean pueden descargar los scripts adjuntos, siéntanse libres de usarlos y/o modificarlos a su necesidad.
Sin comentarios
You must be logged in to post a comment.