Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Select auf Ergebnis aus gleichem Select (https://www.delphipraxis.net/179170-select-auf-ergebnis-aus-gleichem-select.html)

Medium 18. Feb 2014 14:48

AW: Select auf Ergebnis aus gleichem Select
 
Vielleicht bin ich gerade etwas dümmlich, aber wieso sollte in A.Name eine Tabelle stehen, wenn A doch selbst eine ist? Seit wann können Tabellen Tabellen enthalten? Nach meinem Verständnis dürfte TheFrog mit dem GroupBy die Sache getroffen haben. (Mir fielen die unterschiedlichen Parameter des "FROM" nicht auf vorhin.)

baumina 18. Feb 2014 14:49

AW: Select auf Ergebnis aus gleichem Select
 
In A.Name steht keine Tabelle, sondern ein Tabellenname auf den wiederrum der Count laufen soll.

Medium 18. Feb 2014 15:21

AW: Select auf Ergebnis aus gleichem Select
 
Ahhhh, ich folgere daraus: Ja, ich bin heute etwas dümmlich :stupid: Danke, jetzt bin ich endlich wirklich im Bilde!

Eppos 18. Feb 2014 15:30

AW: Select auf Ergebnis aus gleichem Select
 
Ich bin zwar schon weiter... aber ich jetzt das Problem bei der procedure

Delphi-Quellcode:
CREATE PROCEDURE P_TABLEDATA_COUNT ( ATABELLE VARCHAR(30) ) RETURNS ( AANZAHL INTEGER )
AS
begin
  Select Count(*) as aanzahl from ATABELLE
  INTO :AANZAHL;
  Suspend;
End
Bekomme aber immer ein Fehler bei INTO...

Hat jemand eine Idee

mkinzler 18. Feb 2014 15:50

AW: Select auf Ergebnis aus gleichem Select
 
Tabelln und Feldbezeichner sind wie gesagt nicht parametrisierbar!
Das Staement muss, wie von mir gezeigt manuell zusammengebaut werden.

borwin 18. Feb 2014 16:19

AW: Select auf Ergebnis aus gleichem Select
 
... so habe ich es gelöst.

Code:
CREATE OR ALTER PROCEDURE PSYS_TAB_RECORDS_COUNT
RETURNS (
    TAB_NAME VARCHAR(31),
    REC_COUNT INTEGER)
AS
BEGIN

  FOR  SELECT TRIM(RDB$RELATION_NAME)
        FROM RDB$RELATIONS
        WHERE (RDB$VIEW_BLR IS NULL)
              AND (RDB$SYSTEM_FLAG = 0)
              AND SUBSTRING(RDB$RELATION_NAME FROM 1 FOR 3)
                    NOT IN ('SYS','IMP','LOG','TEM','DUA')
        ORDER BY RDB$RELATION_NAME
        INTO :TAB_NAME
  DO
  BEGIN
    EXECUTE STATEMENT 'SELECT COUNT(*) FROM ' || TAB_NAME
            INTO :REC_COUNT;

    SUSPEND;
  END
END
und dann so Abfragen
SELECT *
FROM PSYS_TAB_RECORDS_COUNT

Gruß
Borwin

Eppos 18. Feb 2014 18:48

AW: Select auf Ergebnis aus gleichem Select
 
Danke borwin
so etwas habe ich gesucht...


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:43 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz