A veces nos interesa saber ¿cuáles tablas de mi Base de Datos no tienen filas? o quizás ¿cuáles tablas de mi Base de Datos tienen filas?

Este simple stored procedure seleccionable nos dará la respuesta:


SET TERM ^ ;

CREATE PROCEDURE CANTIDAD_FILAS_TABLAS
RETURNS(
   cNombreTabla   VarChar(32),
   nCantidadFilas Integer)
AS
   DECLARE VARIABLE cComando VarChar(255);
BEGIN

 FOR SELECT RDB$RELATION_NAME FROM RDB$RELATIONS WHERE RDB$SYSTEM_FLAG = 0 INTO cNombreTabla DO BEGIN
    cComando = 'SELECT COUNT(*) FROM ' || Trim(cNombreTabla) ;
    EXECUTE STATEMENT cComando INTO nCantidadFilas ;
    SUSPEND;
 END

END^

SET TERM ; ^

Para ejecutarlo deberás escribir:

SELECT
   *
FROM
   CANTIDAD_FILAS_TABLAS

.

Anuncios