Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-06-2023
igui igui is offline
Registrado
 
Registrado: jun 2023
Posts: 1
Poder: 0
igui Va por buen camino
Cuantos registros tienen las tablas de una BD

Estoy necesitando construir un SQL para saber cuantos registros tienen las tablas de una BD Interbase

He intentado con este pero me marca error

Código SQL [-]
SELECT DISTINCT "RDB$RELATION_FIELDS"."RDB$RELATION_NAME" AS TABLAS,
(SELECT COUNT(*) FROM "RDB$RELATION_FIELDS"."RDB$RELATION_NAME") AS NROREG
FROM "RDB$RELATION_FIELDS" "RDB$RELATION_FIELDS"
WHERE NOT RDB$FIELD_NAME STARTING WITH 'RDB$'

Última edición por Neftali [Germán.Estévez] fecha: 23-06-2023 a las 09:35:49.
Responder Con Cita
  #2  
Antiguo 23-06-2023
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 933
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Estimado, podría ser así
Código SQL [-]
create or alter procedure ALL_RECORD_TABLES
returns (
    tablename varchar(63),
    recorcount integer)
as
BEGIN
  FOR
    select distinct
       RF.RDB$RELATION_NAME
    FROM RDB$RELATIONS RF
    WHERE (RF.rdb$relation_type= 0) and
          (RF.rdb$system_flag= 0)
    INTO :TABLENAME
  DO
  BEGIN
       EXECUTE STATEMENT 'SELECT COUNT(*) FROM '||:TABLENAME
       INTO :RECORCOUNT;

       SUSPEND;
  END
END

Saludos cordiales
Responder Con Cita
  #3  
Antiguo 23-06-2023
manelb manelb is offline
Miembro
 
Registrado: mar 2017
Posts: 297
Poder: 8
manelb Va por buen camino
Yo lo hago como Cloayza, pero con una pequeña variación para no tener que crear un procedimiento almacenado y poderlo lanzar como una simple consulta sql:

Código SQL [-]
execute block
RETURNS (
    TABLA VARCHAR(31),
    CANTIDAD INTEGER)
AS
Begin
  /* spRegistros.  Procedimiento almacenado para obtener la cantidad de
     registros que contiene cada una de las tablas de la base de datos. */

  For Select RDB$Relation_Name From RDB$Relations
  Where (RDB$System_Flag = 0) And (RDB$View_BLR Is Null)
  Order By RDB$Relation_Name Into :Tabla Do
  Begin
    Execute Statement 'Select Count (*) From ' || :Tabla Into :Cantidad;
    Suspend;
  End
End

Saludos a todos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cuantos Warning y Hint tienen tus proyectos? AgustinOrtu Humor 21 04-04-2016 19:44:21
contar registros q tienen diferentes criterios oscarac SQL 1 20-10-2011 20:36:46
Cuantos registros se pueden omy Conexión con bases de datos 8 26-11-2008 11:17:41
Recuperar registros que no tienen movimiento Manuel SQL 3 28-05-2004 22:32:21
cuantos registros mysql rinaib MySQL 3 24-07-2003 19:14:33


La franja horaria es GMT +2. Ahora son las 00:54:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi