Zeilen in einer relationalen Tabelle aktualisieren

Das Fragment 'Datenbankaktualisierung' im EGL-Fach der Snippetansicht ist eine Funktion, mit der eine einzelne Zeile einer relationalen Tabelle aktualisiert wird, wenn ein Datensatz von einem JSF-Handler übergeben wird. Dieses Fragment ist für eine EGL-Bibliothek bestimmt.

Gehen Sie wie folgt vor, um dieses Fragment einzufügen und zu konfigurieren:

  1. Setzen Sie im EGL-Editor den Cursor an die Stelle, an der Sie das Fragment einfügen möchten. Da es sich bei diesem Fragment um eine vollständige EGL-Funktion handelt, muss der Cursor an einer Position platziert werden, an der eine Funktion eingefügt werden darf.
  2. Doppelklicken Sie im EGL-Fach der Snippetsicht auf das Fragment 'Datenbankaktualisierung'. Das Fenster 'Vorlage einfügen' wird geöffnet.
  3. Legen Sie im Fenster 'Vorlage einfügen' den Wert von TableName auf den Namen der Tabelle fest, die Sie aktualisieren.
  4. Legen Sie den Wert von KeyColumn auf die Primärschlüsselspalte der Tabelle fest.
  5. Klicken Sie auf 'Einfügen'.
  6. Speichern Sie die Datei.
Mit diesem Fragment wird der folgende Code eingefügt:
Function updateRec(EGL_RecordNameNew  EGL_RecordName) 
    //Function name - call this function passing 
    //the EGL_RecordName Record as a parameter
    EGL_RecordNameOld EGL_RecordName;   //A copy of the Record, 
    //used to lock the table row, and obtain the existing row values 
    //prior to update
    try
        EGL_RecordNameOld.Table_Key_column_ID 
            = EGL_RecordNameNew.Table_Key_column_ID;
        get EGL_RecordNameOld forUpdate;  //Get the existing row.  
        //Note that if you had custom processing to do, 
        //you would insert after this call
        move EGL_RecordNameNew to EGL_RecordNameOld byName;  
        //Move the updated values to the copy-row         
        replace EGL_RecordNameOld;  //And replace the row in the database.
        sysLib.commit();  //Commit your changes to the Database
    onException (ex AnyException)   //If the update fails...
        sysLib.rollback();  //cancel all database updates 
        //(assuming this is permitted by your database)
        // and call a custom error handling routine or something
    end
end

Feedback