RequeteSql

Instruction de déclaration. Définition des requêtes Structured Query Language (SQL).

Instruction. Exécution d'une requête Structured Query Language (SQL).

Syntaxe

RequeteSql ListeDeRequetesSql

RequeteSql NomSql
ResultatsSqlRecus ParametresSqlTransmis
TempsDeGardeTransmis ModeOptimisationSqlTransmis
SourceOrdreSql ;
ListeDInstructions
Fin RequeteSql

Description

Employée en tant qu'instruction de déclaration, RequeteSql permet de déclarer des requêtes Structured Query Language (SQL) statiques.

Une requête Sql peut être déclarée globalement ou localement. Son accès peut être défini au moyen des instructions Prive, Protege et Public.

La déclaration de la requête Sql au niveau de la source de données relationnelles est établie tout le temps de la portée de la déclaration. Ainsi, une requête Sql global est résidant, ce qui permet de factoriser les phases d'analyse et de calcul du plan effectuées par le moteur de la source de données pour plusieurs exécutions successives. La contre-partie est que le source de la requête Sql ne peut être que statique.

Une requête Sql produisant obligatoirement des résultats, la liste de ceux-ci est introduite par l'instruction ResultatSql.

Une requête Sql possède éventuellement des paramètres dont la liste est introduite par l'instruction ParametreSql. Les paramètres sont identifiés dans le source du bloc Pl/Sql par des pseudo-variables de même nom.

Le source d'une requête Sql est constitué d'une commande Sql de sélection.
Il est écrit en clair dans le programme. Il doit respecter la syntaxe et la sémantique du moteur de la source de données. Il se termine par le caractère point-virgule ; .

SELECT ename:=${NomEmploye}, hiredate:=${DateEmbauche}, empno:=${NumeroEmploye}, sal:=${Salaire}
FROM emp
WHERE deptno=${NumeroDepartement};

Employée en tant qu'instruction, RequeteSql permet aussi d'exécuter directement une requête Structured Query Language (SQL).

La requête Sql peut être déclarée au niveau de la source de données relationnelles le temps de son exécution ou elle a pu être déclarée au préalable. Dans ce second cas, les phases d'analyse et de calcul du plan effectuées par le moteur de la source de données ont déjà été effectuées.

Une requête Sql produit obligatoirement des résultats dont la liste est introduite par l'instruction ResultatSql

Une requête Sql statique possède éventuellement des paramètres dont la liste est introduite par l'instruction ParametreSql. Il s'agit uniquement de paramètres d'entrée. Les paramètres sont identifiés dans le source de l'ordre Sql par des pseudo-variables de même nom.

Le source d'une requête Sql de sélection peut être :

Le source d'une requête Sql de sélection doit respecter la syntaxe et la sémantique du moteur de la source de données.

Les instructions du corps de la requête Sql sont exécutées en boucle pour chaque enregistrement produit. Il est possible de passer à l'enregistrement suivant par l'emploi de l'instruction Continuer. Il est possible d'interrompre cette boucle par l'emploi de l'instruction Arreter.

Pour connaître le numéro de l'enregistrement courant, il faut employer l'instruction NumeroEnregistrementSql. Pour connaître le nombre d'enregistrements produit, il faut employer l'instruction NbEnregistrementSql.

Une requête Sql est un objet implicite d'un type implémentant l'interface IRequeteSql. Le type est automatiquement déduit de la connexion associée à la requête Sql.

Pour connaître les propriétés et les méthodes de ce type, veuillez vous reporter à la fiche Description de l'interface IRequeteSql.

Exemple

Variable
/******/

ConnexionSql
/*******/

RequeteSql
/********/
Public : Protege : Prive :
Principal
/*******/
...
/* Requete Sql dont le source est statique. */
RequeteSql MaRequeteSql6 ConnexionSql MaConnexionSql Fin RequeteSql
...
/* Requete Sql dont le source statique est factorise via l'objet semantique MaRequeteSql2. */
RequeteSql MaRequeteSql2 Fin RequeteSql
...
/* Requete Sql dont le source est calcule dynamiquement. */
RequeteSql MaRequeteSql7 ConnexionSql MaConnexionSql Fin RequeteSql
...
Fin Principal

Voir aussi

ParametreSql pour déclarer les paramètres d'une requête Sql. ResultatSql pour déclarer les résultats d'une requête Sql. SqlDynamique pour déclarer le source d'un ordre Sql dynamique. SqlStatique pour déclarer le source d'un ordre Sql statique.
BlocSql pour exécuter un bloc Pl/Sql. OrdreSql pour exécuter un ordre Pl/Sql.

Traduction

---------