Support unifié de RETURNING (FireDAC)
Remonter à Prétraitement du texte des commandes (FireDAC)
Sommaire
Description
FireDAC fournit la séquence d'échappement {INTO }
pour simplifier et unifier la gestion de RETURNING
dans Firebird, Oracle et 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
Les paramètres contenus dans {INTO }
sont définis en tant que ptInputOutput. FireDAC utilise RETURNING {INTO}
dans le cadre des commandes SQL INSERT/UPDATE, automatiquement générées pour valider des mises à jour dans une base de données.
- Remarque : FireDAC ne peut pas supporter directement la phrase
INTO
de Firebird, car elle est supportée uniquement par PSQL, et non par DSQL, qui est utilisé par FireDAC. Cependant, vous pouvez utiliser la clause d'échappement{INTO }
. Avec Firebird, il est également possible d'utiliser la méthode Open à la place de 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