[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Mar 2005
    Beiträge
    27

    Trigger - Laufzeit zu lang

    Der Fehler kann nicht sein, denn

    1. ist das Feld XTIME nicht als DEC sondern als String definiert und
    2. selbst wenn man nur versucht einen einfachen String an das Feld zu übergeben funktionierts nicht und
    3. würde es dann auch nicht in das Feld schreiben lassen wenn ich's über zwei SQL Befehle mach. Dies funktioniert nämlich.

    Beispiel:
    Trigger XXFILE Update
    BEGIN ATOMIC
    Update XXLIB.XXFILET set lfdNummer = lfdNummer + 1, XUSER = USER, XEVEN = 'U', XSTAT = 'B', XZEIT = CURRENT TIMESTAMP;
    insert into XXLIB.XXFILE (select * from XXLIB.XXFILET, tmpalt);
    Update XXLIB.XXFILET set XSTAT = 'A';
    insert into XXLIB.XXFILE (select * from XXLIB.XXFILET, tmpneu);
    END


    4. haben wir die Zeit schonmal als Test umgestellt

    Leider ist die Lösung 3. vermutlich dafür verantwortlich, dass nun Massenjobs sehr lange laufen, wenn der Trigger eingestellt ist. Teils 5x so lang!

    Habt ihr noch weitere Ideen?

    Gruß, Karo

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.934
    Hallo!

    Du sagst es:
    Feld XTIME nicht als DEC sondern als String

    Current_Timestamp ist jedoch eine echte Zeitmarke.
    Damit ist der Wert für die Spalte XTIME nicht verträglich.
    (Schau Dir mal spasseshalber den Hex-Wert von Current_Timestamp an:
    PHP-Code:
    Select Hex(Current_Timestampfrom SysIbm/SysDummy1 
    Du musst die Zeitmarke in ein alphanumerisches Feld umwandeln und dieses dann beim Insert, Update oder Delete verwenden.

    Aus Performancegründen würde ich die Konvertierung einmalig machen und an alle betroffenen Sätze übergeben. (Sofern es nicht genau auf den Bruchteil einer Sekunde ankommt und der ist bei Massen-Inserts, Updates oder Deletes eh' nicht eindeutig!)

    PHP-Code:
    Declare MyCharTime CHAR(20);
    Set MyCharTime CHAR(Current_TimeStamp); 
    oder

    PHP-Code:
    Update ... 
       
    Set XTime Char(Current_Timestamp); 
    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

Similar Threads

  1. Operations Navigator - QSECOFR hat nur Basisfunktionen
    By cassi in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 18-01-05, 09:38
  2. Operations Navigator startet nicht
    By issvrcr in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 23-12-04, 21:57
  3. IPDS-Drucke im Operations Navigator anschauen
    By schwenth in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 04-11-04, 12:50
  4. Operations Navigator / LPAR
    By Romek in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 26-03-02, 09:00
  5. Antworten: 9
    Letzter Beitrag: 11-02-02, 08:22

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •