Mit folgender Stored Procedure kann man sich schnell einen Überblick über
die Anzahl der Datensätze in allen Tabellen einer Datenbank verschaffen:

CREATE PROCEDURE SP_SERVERISTATISTIK
RETURNS (
TABLOAD VARCHAR(50),
TABSIZE BIGINT)
AS
begin
for
SELECT RDB$RELATION_NAME
FROM RDB$RELATIONS
WHERE
(RDB$RELATION_NAME NOT LIKE 'RDB$%')
and
(RDB$VIEW_SOURCE IS NULL)
INTO
:TABLOAD
DO
BEGIN
execute statement 'SELECT CAST(COUNT(*) AS BIGINT) FROM "' || TABLOAD
|| '"'
INTO :TABSIZE;
suspend;
END
end

Die erste Abfrage selektiert alle echten Tabellen (RDB$VIEW_SOURCE IS
NULL), die keine Systemtabellen sind (RDB$RELATION_NAME NOT LIKE 'RDB$%').

Pro Tabelle wird die Anzahl der Datensätze ausgelesen.



Diese Stored Procedure kann man wie eine Tabelle abfragen:

SELECT * FROM SP_SERVERISTATISTIK;