Écrire le code du corps du module
Cette section examine en détail les constructions procédurales SQL et les Instructions disponibles dans le corps des procédures stockées, des déclencheurs et des blocs PSQL anonymes.
Cette section examine en détail les constructions procédurales SQL et les Instructions disponibles dans le corps des procédures stockées, des déclencheurs et des blocs PSQL anonymes.
:
’)Un marqueur deux-points (‘`:`’) est utilisé dans PSQL pour marquer une référence à une variable dans une instruction DML. Sinon, un marqueur deux-points est facultatif devant les noms de variables.
Ne jamais préfixer un deux-points pour les variables de contexte.
Attribution d’une valeur à une variable.
PSQL
varname = <value_expr>;
Paramètre | Description |
---|---|
varname |
Le nom d’une variable locale ou d’un paramètre de procédure (fonction). |
value_expr |
Une expression, une constante ou une variable dont le type de données est compatible avec varname. |
PSQL utilise le signe égal (‘`=`’) comme Instruction d’affectation. L’Instruction d’affectation définit la variable à gauche de l’Instruction à la valeur de l’expression SQL à droite. Une expression peut être n’importe quelle expression SQL valide. Elle peut contenir des littéraux, des noms de variables internes, des opérations arithmétiques, logiques et de chaînes de caractères, des appels à des fonctions intégrées et des fonctions définies par l’utilisateur.
CREATE PROCEDURE MYPROC (
a INTEGER,
b INTEGER,
name VARCHAR (30)
)
RETURNS (
c INTEGER,
str VARCHAR(100))
AS
BEGIN
-- nous attribuons une constante
c = 0;
str = '';
SUSPEND;
-- attribuer des valeurs aux expressions
c = a + b;
str = name || CAST(b AS VARCHAR(10));
SUSPEND;
-- assigne la valeur de l'expression
-- construite à l'aide de la requête
c = (SELECT 1 FROM rdb$database);
-- assigner une valeur à partir d'une variable contextuelle
str = CURRENT_USER;
SUSPEND;
END