Einheitliche Unterstützung für RETURNING (FireDAC)
Nach oben zu Vorverarbeiten von Anweisungstext (FireDAC)
Inhaltsverzeichnis
Beschreibung
FireDAC beinhaltet die {INTO }
-Escape-Sequenz zum Vereinfachen und Vereinheitlichen der RETURNING
-Behandlung für Firebird, Oracle und PostgreSQL:
FDQuery1.SQL.Text := 'insert into MyTab (f2, f3) values (:f2, :f3) returning f1 {into :f1}';
FDQuery1.Params[0].AsString := 'qwe';
FDQuery1.Params[1].AsInteger := 100;
FDQuery1.ExecSQL;
FDQuery1.Params[2].Value; // Value of a first parameter, listed in INTO
Die Parameter in {INTO }
sind als ptInputOutput definiert. FireDAC verwendet RETURNING {INTO}
als Teil der SQL-Anweisungen INSERT/UPDATE, die zum Eintragen von Aktualisierungen in einer Datenbank automatisch generiert werden.
- Hinweis: FireDAC kann die
INTO
-Klausel von Firebird nicht direkt unterstützen, weil diese nur von PSQL, aber nicht von DSQL, was von FireDAC verwendet wird, unterstützt wird. Sie können jedoch die{INTO }
-Escape-Klausel verwenden. Eine weitere Option für Firebird wäre die Verwendung der Methode Open anstatt ExecSQL:
FDQuery1.SQL.Text := 'insert into MyTab (f2, f3) values (:f2, :f3) returning f1';
FDQuery1.Params[0].AsString := 'qwe';
FDQuery1.Params[1].AsInteger := 100;
FDQuery1.Open;
FDQuery1.Fields[0].Value; // Value of a first field, listed in RETURNING