Announcement

Collapse
No announcement yet.

Create global temp table gelingt nicht

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

  • Create global temp table gelingt nicht

    Hallo beisammen,

    irgendwie will es mir nicht gelingen. Könnt Ihr mir helfen?
    Stored proc ist erzeugt
    Generator ist erzeugt

    Temporäre Tabelle erzeugen klappt nicht.
    In dieser werden zur Laufzeit für den User Daten gesammelt und berechnet. Die Ergebnisse können nach dem Schliessen des Formulares wieder verschwinden, ein Teilen der Ergebnisse ist auch nicht erwünscht.

    Dies ist der Fehlercode
    Code:
    ISC ERROR CODE:335544351
    
    ISC ERROR MESSAGE:
    unsuccessful metadata update
    STORE RDB$RELATION_FIELDS failed

    Und dies ist mein SLQ- Text (IBOConsole)

    Code:
    CREATE GLOBAL TEMPORARY TABLE TAuswertung
    (
      id integer not null,
      Startdatum date,
      az         integer,
      pz         integer,
      rz         integer,
      dz         integer,
      uz         integer,
      az1        time,
      pz1        time,
      rz1        time,
      dz1        time,
      uz         time,
      datum      date,
      tagesplanorig  varchar(150),
      tpkuerzel varchar(5),
      tagesplanmanu varchar(150),
      PRIMARY KEY (ID)
    
    )
    
    on commit delete rows;
    
    SET TERM ^ ;
    
    
    /* Triggers only will work for SQL triggers */
    
    CREATE TRIGGER "SET_TAuswertungID" FOR "TAuswertung"
    ACTIVE BEFORE INSERT POSITION 0
    as
    begin
      if (new.ID is null) then new.ID = gen_id(gen_TAuswertung, 1);
      if (new.ID = '0') then new.ID = gen_id(gen_TAuswertung, 1);
    end
     ^
    
    COMMIT WORK ^
    SET TERM ;^
    Vielen Dank für euere Mühen

    Gruß

    Peter

  • #2
    Vielleicht noch zu den verwendeten Programmen/Treibern

    FB embedded 2.5
    IBOConsole 1.1.12.16

    Vielleicht hilft das.

    Gruß

    Peter

    Comment


    • #3
      Du verwendest das Feld 'uz' zweimal.
      Thomas Steinmaurer

      Firebird Foundation Committee Member
      Upscene Productions - Database Tools for Developers
      Mein Blog

      Comment


      • #4
        Originally posted by Thomas Steinmaurer View Post
        Du verwendest das Feld 'uz' zweimal.
        Alter Schwede, ich glaub du hast Recht!?!?!
        Ich bin unterwegs, morgen wird sofort geändert und getestet, Feedback garantiert!!

        Ich hab doch noch gar nix getrunken?

        Gruß und vielen Dank

        Peter

        Comment


        • #5
          Ich hab doch noch gar nix getrunken?
          Bei jemandem der seine Spalten uz,pz,rz u.s.w. nennt würde ich das mal stark annehmen. Zumindest sind deine Problem damit eine gerechte Strafe

          Comment


          • #6
            OK, das war's natürlich.
            IBO- Console hat gemeckert beim Ausführen der korrigierten Anweisung, die Tabelle ist aber da.
            Wie erkennt man jetzt eigentlich, dass die temoräre Daten hat? In den Meta's kann man nichts sehen. Habe jetzt die Anweisung unter Bemerkung im Original eingefügt.

            @Ralf Jansen
            Sooo kryptisch ist das nicht:
            AZ Arbeitszeit
            PZ Pausenzeit
            .
            .
            Für die in unserem Laden ist das ausreichen. Und zudem ist diese Tabelle temporär, da darf das mal sein.

            Gruß

            Peter

            Comment


            • #7
              Peter,

              wie du richtig erkannt hast, sind Daten in einer GTT temporär. Und zwar temporär zum eigenen Kontext (Connection/Transaktion). Da du ON COMMIT DELETE ROWS verwendest, sind die Daten sichtbar nur für die eigene Transaktion und auch nur solange diese nicht committed wurde. Bei ON COMMIT PRESERVE ROWS sind die Daten bis zum Ende der Connection verfügbar und hier auch wieder nur für die eigene Connection.

              Thomas
              Thomas Steinmaurer

              Firebird Foundation Committee Member
              Upscene Productions - Database Tools for Developers
              Mein Blog

              Comment

              Working...
              X