ParametreSql (
ListeDeParametresSqlDeclares )
TailleTableauxParametresSqlDeclares
ParametreSql (
ListeDeParametresSqlTransmis )
TailleTableauxParametresSqlTransmis
ParametreSql
permet de déclarer ou transmettre les paramètres d'entrée, d'entrée-sortie ou de sortie à un bloc, un ordre Programming Language / Structured Query Language (PL/SQL)
ou à une requête Structured Query Language (SQL).
Un résultat d'une requête Sql n'est pas considéré comme un paramètre de sortie. Il doit être déclaré au moyen de l'instruction ResultatSql.
La sémantique diffère légèrement selon le contexte :
Les types possibles d'un paramètre sont :
La conversion de type de données est réalisée par le pilote d'Up ! Query correspondant à la connexion utilisée. Il en est de même pour l'initialisation des paramètres de sortie.
Les paramètres sont identifiés dans le source du bloc, de l'ordre Pl/Sql ou de la requête Sql par des pseudo-variables de même nom.
Pour les paramètres de type Binaire et Caractere, il est possible de soit :
Les paramètres peuvent être transmis par tableau, ce qui est déclaré au moyen de l'instruction TailleTableauParametreSql. En ce cas, la gestion des tableaux est automatisée.
Variable
/******/
NumeroDepartement : Entier;
NumeroEmploye : Entier;
Salaire : Reel;
Description : Caractere;
Photo : Binaire;
ConnexionSql
/**********/
MaConnexionSql(Oracle, "scott/tiger");
OrdreSql
/*******/
/* Declaration des parametres d'un ordre Sql factorise. */
MonOrdreSql2 ConnexionSql MaConnexionSql
ParametreSql (NumeroEmploye: Entier, Salaire : Reel, Description : Caractere TailleMaxSql 256, Photo : Binaire EstLong)
SqlStatique
UPDATE emp set sal=${Salaire}, desc=${Description}, photo=${Photo}
WHERE empno=${NumeroEmploye};
Principal
/*******/
...
/* Declaration et transmission des parametre d'un ordre Sql non factorise. */
OrdreSql MonOrdreSql ConnexionSql MaConnexionSql
ParametreSql (NumeroEmploye : Entier, Salaire : Reel=-Salaire, Description : Caractere TailleMaxSql 256, Photo : Binaire EstLong)
SqlStatique
UPDATE emp set sal=${Salaire}, desc=${Description}, photo=${Photo}
WHERE empno=${NumeroEmploye};
...
/* Transmission des paramètres d'un ordre Sql factorise. */
OrdreSql MonOrdreSql2 ParametreSql (NumeroEmploye, -Salaire, Description, Photo);
...
Fin Principal
- | - | - | - | - | - | - | - | - |