FirebirdSQL logo

Exemples

Example 1. Création d’une procédure stockée
CREATE PROCEDURE ADD_BREED (
  NAME D_BREEDNAME, /* Les caractéristiques du domaine sont héritées */
  NAME_EN TYPE OF D_BREEDNAME, /* Seul le type de domaine est hérité */
  SHORTNAME TYPE OF COLUMN BREED.SHORTNAME, /* Hérite du type de colonne de table */
  REMARK VARCHAR(120) CHARACTER SET WIN1251 COLLATE PXW_CYRL,
  CODE_ANIMAL INT NOT NULL DEFAULT 1
)
RETURNS (
  CODE_BREED INT
)
AS
BEGIN
  INSERT INTO BREED (
    CODE_ANIMAL, NAME, NAME_EN, SHORTNAME, REMARK)
  VALUES (
    :CODE_ANIMAL, :NAME, :NAME_EN, :SHORTNAME, :REMARK)
  RETURNING CODE_BREED INTO CODE_BREED;
END

Idem, mais la procédure sera exécutée avec les droits de l’utilisateur qui la définit (propriétaire de la procédure).

CREATE PROCEDURE ADD_BREED (
  NAME D_BREEDNAME, /* Les caractéristiques du domaine sont héritées */
  NAME_EN TYPE OF D_BREEDNAME, /* Seul le type de domaine est hérité */
  SHORTNAME TYPE OF COLUMN BREED.SHORTNAME, /* Hérite du type de colonne de table */
  REMARK VARCHAR(120) CHARACTER SET WIN1251 COLLATE PXW_CYRL,
  CODE_ANIMAL INT NOT NULL DEFAULT 1
)
RETURNS (
  CODE_BREED INT
)
SQL SECURITY DEFINER
AS
BEGIN
  INSERT INTO BREED (
    CODE_ANIMAL, NAME, NAME_EN, SHORTNAME, REMARK)
  VALUES (
    :CODE_ANIMAL, :NAME, :NAME_EN, :SHORTNAME, :REMARK)
  RETURNING CODE_BREED INTO CODE_BREED;
END
Example 2. Création d’une procédure stockée externe
Créer une procédure située dans un module externe (UDR). L’implémentation de la procédure se trouve dans le module externe udrcpp_example. Le nom de la procédure à l’intérieur du module est gen_rows.
CREATE PROCEDURE gen_rows (
    start_n INTEGER NOT NULL,
    end_n INTEGER NOT NULL
) RETURNS (
    n INTEGER NOT NULL
)
    EXTERNAL NAME 'udrcpp_example!gen_rows'
    ENGINE udr;

ALTER PROCEDURE

Utilisation

Pour modifier une procédure stockée existante.

Disponible en

DSQL, ESQL

Syntaxe
ALTER PROCEDURE procname [(<inparam> [, <inparam> ...])]
[ RETURNS (<outparam> [, <outparam> ...]) ]
<routine-body>

Pour plus de détails, voir CREATE PROCEDURE.

L’instruction `ALTER PROCEDURE' vous permet de modifier la composition et les caractéristiques des paramètres d’entrée et de sortie, des variables locales, des curseurs nommés et du corps de la procédure stockée.Pour les procédures externes (UDR), vous pouvez modifier le point d’entrée et le nom du moteur.Les privilèges et dépendances existants sont conservés après l’exécution.

Warning

Soyez prudent lorsque vous modifiez le nombre et les types de paramètres d’entrée et de sortie des procédures stockées.Le code d’application existant peut devenir inapplicable parce que le format d’appel de procédure est incompatible avec la nouvelle description des paramètres.En outre, les modules PSQL qui utilisent la procédure stockée modifiée peuvent devenir invalides.Des informations sur la manière de détecter cela peuvent être trouvées dans l’application Field RDB$VALID_BLR.