[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Aug 2006
    Beiträge
    2.072

    Doktorspiele oder wie erstelle ich ein SQL-Trigger

    Hallo *all,
    ich habe hier ein tolles Kaba Benzing Terminal welches mir die Daten in eine Datei stellt.
    Leider ist bei einem dieser Terminal der Parameter falsch gesetzt und der Wert des Schlüssel ist zu kurz.
    Da bei Kaba Benzig die letzten Dinosaurierer die sich mit AS/400 und Bcomm auskannten schon vor 10 Jahren gestorben sind, muß ich jetzt rumdoktorn.
    Ein Lösungansatz von mir ist es einen SQL-Trigger zu erstellen der mir beim Insert prüft ob der Schlüsselwert lang genug ist.

    Dateiaufbau:

    create table testdat (BBFINR char(03), BBBLOC char(250))

    Datensatz Alt:
    insert into testdat values('001',
    '01ABC0B1120071609210020014<000260')

    Datensatz Neu:

    insert into testdat values('001',
    '01ABC0B1120071609210020014<0000260') <- Eine Null mehr

    Trigger Experiment:

    Code:
    create trigger Schluessel                                
           after update of bbbloc  on testdat         
           referencing old   as old_testdat                    
                           new as new_testdat                    
           for each row mode db2sql                          
               when (substr(old_testdat.bbbloc, 34, 1) = ' ')
               begin atomic                                  
                  bbbloc = 'Neu';                            
               end
    Später soll statt Neu natürlich der zusammengesetzte String da stehen.

    Ich habe mir das Buch "iSeriesDB2 Universal Database for iSeries SQL Reference" genommen, werde aber leider aus den Beispielen nicht schlau.

    Wer kann mir denn bitte die richtige Syntax sagen damit im Datensatz später der Wert so da steht '01ABC0B1120071609210020014<0000260'

    Für Hinweise die zur Ergreifung der Fehler finden wäre ich dankbar.

    GG 3970

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    ... ein After Trigger kann den Datensatz nicht mehr ändern. Das muss ein before trigger sein und der muss repeatable change erlauben (habe ich nur mit externem Trigger gemacht)

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Aug 2006
    Beiträge
    2.072
    So nach einem kleinen Mittagsspaziergang kam mir die zündende Idee und jetzt läuft es wie gewünscht.

Similar Threads

  1. SQL Trigger
    By mk in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 24-04-18, 16:34
  2. SQL-Trigger an PF
    By Sebastian85 in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 11-03-15, 08:26
  3. Trigger ab 5.1
    By lorenzen in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 11-01-02, 14:49
  4. Erstelle Physische Datei
    By Burgy Zapp in forum NEWSboard Server Software
    Antworten: 7
    Letzter Beitrag: 23-05-01, 17:12
  5. Trigger / ILE RPG
    By Frank Pusch in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 17-05-01, 10:34

Berechtigungen

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