FirebirdSQL logo

EXECUTE STATEMENT

Destination

Exécution d’instructions SQL générées dynamiquement.

Disponible en

PSQL

Syntaxe
<execute_statement> ::=
  EXECUTE STATEMENT <argument>
    [<option> ...]
    [INTO <variables>]

<argument> ::=
    <paramless_stmt>
  | (<paramless_stmt>)
  | (<stmt_with_params>) (<param_values>)

<param_values> ::= <named_values> | <positional_values>

<named_values> ::=
  [EXCESS] paramname := <value_expr>
  [, [EXCESS] paramname := <value_expr> ...]

<positional_values> ::= <value_expr> [, <value_expr> ...]

<option> ::=
    WITH {AUTONOMOUS | COMMON} TRANSACTION
  | WITH CALLER PRIVILEGES
  | AS USER user
  | PASSWORD password
  | ROLE role
  | ON EXTERNAL [DATA SOURCE] <connect_string>

<connection_string> ::=
  Voir. <filespec> = Syntaxe CREATE DATABASE !!

<variables> ::= [:]varname [, [:]varname ...]
Table 1. Paramètres de l’instruction EXECUTE STATEMENT
Paramètre Description

paramless_stmt

Une chaîne littérale ou une variable contenant une requête SQL non paramétrée.

stmt_with_params

Une chaîne littérale ou une variable contenant une requête SQL paramétrée.

paramname

Le nom du paramètre de la requête SQL.

value_expr

Une expression pour obtenir la valeur d’un paramètre de la requête.

user

Nom de l’utilisateur. Peut être une chaîne, CURRENT_USER ou une variable.

password

Mot de passe. Peut être une chaîne ou une variable.

role

Rôle. Peut être une chaîne, `CURRENT_ROLE' ou une variable.

connection_string

Chaîne de connexion à la base de données distante Peut être une chaîne ou une variable.

varname

Variable.

L’instruction EXECUTE STATEMENT prend un paramètre de type chaîne et l’exécute comme s’il s’agissait d’une instruction DSQL. Si l’instruction renvoie des données, celles-ci peuvent être passées à des variables locales à l’aide de l’instruction INTO.

Instructions paramétrés

Vous pouvez utiliser des paramètres dans une instruction DSQL. Les paramètres peuvent être nommés ou positionnels (sans nom). Une valeur doit être attribuée à chaque paramètre.