Dr. Hans-Christian Waldmann wrote:
> 
> Liebe Liste,
> 
> ich wär jetzt eigentlich mit ADABAS V10 soweit, daß ich auch mal
> mit PL/SQL arbeiten und trigger oder dbfunctions anlegen wollte.
> 
> Leider ist die ADABAS-Dokumentation hier äußerst unbefriedigend;
> eine reine Syntax-Referenz nützt dem Anfänger eher wenig.
> 
> Ich wäre sehr dankbar für Hinweise auf SAG-externe Literatur oder
> ein paar worked examples von euch Profis. Einen Kurs bietet die SAG
> zu diesem Thema leider auch nicht an, so daß dieser Weg der einzige
> ist, um einen trigger an den Start zu bekommen.
> 

Ich habe hier 'n kleines foerderiertes System. Damit Access den
Adabasschluessel lesen kann, ist hier ein Insert-Key noetig, der den
64bit-Wert umrechnet:


 TRIGGER stdlib.FILIALE_AUTOINCR()

   VAR lid;

   SQL (SUBTRANS BEGIN);
   SQL (NEXT STAMP :lid);  /* naechster eindeutiger Wert

   lid:=hex(lid);          /* in eine fuer Access verstaendliche Form 

   SQL (UPDATE SHOPADMIN.FILIALE SET ID_FILIALE= :lid WHERE
ID_FILIALE='?');

        /* ersetze Schluesselwert in der Zeile mit einem '?' als
        /* aktuellen Schluesselwert (Access verwechselt NULL mit '') 
        /* d.h. wenn man in ID_FILIALE ein ? angibt, stempelt Adabas 
        /* den Datensatz, ansonsten nimmt er an, dass Access es bereits 
        /* getan hat.
        /* ID_FILIALE ist ein char(16)
        /* KEY waere wohl sinnvoller als WHERE, naja.

   SQL (SUBTRANS END);

 RETURN;

      

-----------------------------------------------------------------------
Oliver Artelt                              Jordanstr.7, 39112 Magdeburg
mailto:[EMAIL PROTECTED]             Tel: 0391-6112827 Fax: 0391-604243 
-----------------------------------------------------------------------
http://www.transnet.de                  ISP: Wir schaffen Verbindungen!
http://www.magdeburg-online.de       Die Magdeburger Online-Information
-----------------------------------------------------------------------
-
To unsubscribe from this list please send a mail to [EMAIL PROTECTED] with
'unsubscribe suse-adabas' in its body.
An archive is kept at http://www.suse.com/Mailinglists/suse-adabas/

Reply via email to