Hallo zusammen,
vermutlich bin ich blind. Ich habe einen Trigger verändert. Vorher hatte ich einen festen Trigger ohne des SQL String zu verwenden.
Ich will den SQL Befehl im Trigger zusammensetzen je nach Übergabe der Daten. Wenn die neuen Datenfelder leer sind sollen die vorherigen Datensätze nicht mit dem leeren Inhalt überschrieben werden!
Also baue ich den SQL String so zusammen, dass nur die Daten aktualisiert werden die auch einen gültigen Inhalt haben.
Leider bekomme ich bei jedem Insert einen Fehler komme aber nicht dahinter wo das problem ist.
vermutlich bin ich blind. Ich habe einen Trigger verändert. Vorher hatte ich einen festen Trigger ohne des SQL String zu verwenden.
Ich will den SQL Befehl im Trigger zusammensetzen je nach Übergabe der Daten. Wenn die neuen Datenfelder leer sind sollen die vorherigen Datensätze nicht mit dem leeren Inhalt überschrieben werden!
Also baue ich den SQL String so zusammen, dass nur die Daten aktualisiert werden die auch einen gültigen Inhalt haben.
Leider bekomme ich bei jedem Insert einen Fehler komme aber nicht dahinter wo das problem ist.
Code:
As Declare variable data integer; Declare variable SQL varchar(2000); BEGIN data = 0; Sql = 'UPDATE atm1 SET'; if (( new.tsa_host is not null) AND (new.TSA_HOST <> 0)) then begin Sql = :Sql || ' TSA_HOST=new.TSA_HOST';data=1; end if (( new.CARDNUMBER is not null) AND (new.CARDNUMBER <> 0)) then begin if (data > 0) then Sql = Sql || ','; Sql = :Sql || ' CARDNUMBER=new.CARDNUMBER';data=1; end Sql = :Sql || ' WHERE TR_SEQ=new.TR_SEQ AND TR_TS>=(new.TR_TS-15.000000/1440)'; if (data > 0) then execute statement :Sql; END
Comment