FirebirdSQL logo

EXIT

Destination

Fin d’une procédure, d’une fonction ou d’un déclencheur.

Disponible en

PSQL

Syntaxe
EXIT;

L’instruction EXIT appelée depuis n’importe où dans le module PSQL en cours d’exécution sautera à la dernière instruction END, terminant ainsi l’exécution du programme.

Si vous appelez EXIT dans une fonction, celle-ci retournera NULL.

Exemples EXIT

Example 1. Utilisation de l’Instruction EXIT dans une procédure stockée sélective.
CREATE PROCEDURE GEN_100
RETURNS (
  I INTEGER
)
AS
BEGIN
  I = 1;
  WHILE (1=1) DO
  BEGIN
    SUSPEND;
    IF (I=100) THEN
      EXIT;
    I = I + 1;
  END
END
Voir aussi :

LEAVE, BREAK, CONTINUE,SUSPEND.

SUSPEND

Destination

Transfère les valeurs des paramètres dans un tampon et met en pause la procédure (bloc PSQL) jusqu’à ce que l’appelant reçoive le résultat.

Disponible en

PSQL

Syntaxe
SUSPEND;

L’instruction SUSPEND envoie les valeurs des paramètres de sortie dans le tampon et suspend l’exécution de la procédure stockée (bloc PSQL). L’exécution reste suspendue jusqu’à ce que l’appelant reçoive le contenu du tampon. L’exécution reprend avec l’instruction qui suit immédiatement l’instruction SUSPEND. Le plus souvent, il s’agira d’une nouvelle itération du processus itératif.

Note
  1. L’Instruction SUSPEND ne peut apparaître que dans les procédures ou sous-procédures stockées et dans les blocs anonymes EXECUTE BLOCK.

  2. La présence du mot clé SUSPEND définit une procédure stockée comme une procédure sélectionnable.

  3. Les applications qui utilisent les interfaces API sélectionnent généralement les procédures stockées de manière transparente.

  4. Si une procédure sélectionnable est exécutée à l’aide de EXECUTE PROCEDURE', elle se comporte comme une procédure exécutable. Lorsqu’une instruction `SUSPEND est exécutée dans une telle procédure stockée, cela équivaut à l’exécution d’une instruction EXIT, qui entraîne la fin immédiate de la procédure.

  5. L’instruction SUSPEND' "viole" l’atomicité du bloc dans lequel elle réside. Si une erreur se produit dans la procédure sélective, les Instructions exécutés après le dernier Instruction `SUSPEND seront annulés. Les Instructions exécutés avant la dernière instruction SUSPEND ne seront pas annulés sauf si la transaction est annulée.