Announcement

Collapse
No announcement yet.

Count auf alle Tabellen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Count auf alle Tabellen

    Hallo zusammen:

    Ich habe folgendes Script:

    Code:
    SET SERVEROUTPUT ON
    
    DECLARE
    
       str      VARCHAR2 (1000);
       str2     VARCHAR2 (1000);
       l_cnt   NUMBER;
    
    BEGIN
        FOR cur_t IN (SELECT TABLE_NAME FROM user_tables GROUP BY TABLE_NAME)
    
       LOOP
    
    
            BEGIN
    
               str  := 'SELECT COUNT(*) FROM ' ||cur_t.table_name || ';';
               DBMS_OUTPUT.put_line (str);
    
            END;
    
    
       END LOOP;
    END;
     
    /

    Soweit wird der Count Befehl erfolgreich geschrieben. Wie kann dann dieser Befehl auch gleichzeitig ausgeführt werden, so dass auch das Ergebnis angezeigt wird?

    Mit EXECUTE IMMEDIATE (str)?


    Gruß Rene

  • #2
    Welches DBMS? Ich Tipp mal auf Oracle wegen varchar2

    Comment


    • #3
      stimmt genau

      Comment


      • #4
        Originally posted by Kohli View Post
        stimmt genau
        Gut.

        dann probiere doch mal folgendes :

        Code:
        select
              table_name,
              to_number(
                extractvalue(
                  xmltype(
           dbms_xmlgen.getxml('select count(*) c from '||table_name))
                  ,'/ROWSET/ROW/C')) count
            from user_tables
        /

        Gruss

        Comment


        • #5
          KLASSE!


          Danke Dir

          :-)

          Comment

          Working...
          X