FirebirdSQL logo

Précautions

  1. Il n’y a aucun moyen de vérifier la syntaxe de l’instruction SQL en cours d’exécution ;

  2. Il n’y a pas de contrôle de dépendance pour détecter les colonnes supprimées dans le tableau ou le tableau lui-même ;

  3. L’exécution de l’instruction à l’aide de l’instruction EXECUTE STATEMENT est nettement plus lente que son exécution directe ;

  4. Le type de données des valeurs renvoyées est strictement vérifié afin d’éviter les exceptions de conversion de type imprévisibles. Par exemple, la chaîne "1234" sera convertie en un nombre entier 1234, tandis que la chaîne "abc" entraînera une erreur de conversion.

En général, cette fonction doit être utilisée avec beaucoup de précaution, et les facteurs mentionnés ci-dessus doivent toujours être pris en compte.Si le même résultat peut être obtenu en utilisant PSQL et/ou DSQL, c’est toujours préférable.

Voir aussi :

FOR EXECUTE STATEMENT.

FOR SELECT

Destination

Parcourir les lignes du résultat de l’Instruction SELECT.

Disponible en

PSQL

Syntaxe
[label:]
FOR
  <select_stmt>
  [INTO <variables>]
  [AS CURSOR cursorname]
DO <compound_statement>

<variables> ::= [:{endsb}varname [, [:{endsb}varname ...]
Table 1. Paramètres de l’instruction FOR SELECT
Paramètre Description

label

Balise facultative pour LEAVE et/ou CONTINUE. Doit suivre les règles pour les identifiants.

select_stmt

Instruction SELECT.

cursorname

Le nom du curseur doit être unique parmi les noms de variables et de curseurs du module PSQL.

varname

Nom de la variable locale ou du paramètre d’entrée/sortie.

compound_statement

Instruction composé (Instruction ou bloc d’Instructions).

L’instruction FOR SELECT sélectionne la ligne suivante dans une table (vue, procédure stockée sélective), suivie d’une instruction composée. À chaque itération de la boucle, les valeurs des champs de la ligne courante sont copiées dans des variables locales. L’ajout de la clause AS CURSOR rend possible la suppression et la mise à jour des données positionnelles. Les instructions FOR SELECT peuvent être imbriquées.

L’instruction FOR SELECT peut contenir des paramètres nommés qui doivent être préalablement déclarés dans l’instruction DECLARE VARIABLE, ou dans les paramètres d’entrée (de sortie) d’une procédure (bloc PSQL).

L’instruction FOR SELECT doit contenir une clause INTO à la fin de cette instruction, ou une instruction AS CURSOR. A chaque itération de la boucle, les valeurs des champs de la chaîne de requête courante sont copiées dans la liste de variables spécifiée dans l’instruction INTO. La boucle est répétée jusqu’à ce que toutes les lignes aient été lues. Ensuite, la boucle est quittée. La boucle peut également être terminée avant que toutes les lignes soient lues en utilisant l’instruction LEAVE.