TailleTableauParametreSql
TailleTableauParametre
TailleTableauParametreSql
Expression
TailleTableauParametreSql
permet de déclarer la taille des tableaux des paramètres d'un bloc, d'un ordre Programming Language / Structured Query Language (PL/SQL)
ou d'une requête Structured Query Language (SQL).
Cela active le principe du Bulk Processing qui permet d'optimiser la communication avec le moteur de la source de données relationnelles.
Le bloc ou l'ordre Pl/Sql n'est pas exécuté à chaque passage sur l'une des instructions BlocSql ou OrdreSql. Il est exécuté soit :
La requête Sql est exécutée à chaque passage sur l'instruction RequeteSql. L'effet en terme de résultat produit est comme si la clause Where était dupliquée pour autant de fois qu'il existe de valeurs dans les tableaux de paramètres.
La gestion du Bulk Processing est transparente.
Selon le contexte :
ConnexionSql
/**********/
MaConnexionSql(Oracle, "scott/tiger");
OrdreSql
/*******/
/* Ordre Sql utilisant le Bulk Processing. La taille est 256 éléments. */
MonOrdreSql ConnexionSql MaConnexionSql
ParametreSql (NumeroEmploye : Entier, Salaire : Reel) TailleTableauParametreSql 256 SqlStatique
UPDATE emp set sal=${Salaire}
WHERE empno=${NumeroEmploye};
Principal
/*******/
...
/* Requete Sql utilisant l'Array Fetch Processing. La taille est 256 éléments. */
RequeteSql MaRequeteSql ConnexionSql MaConnexionSql
ResultatSql (NomEmploye : Nul Ou Caractere TailleMaxSql 20, DateEmbauche : Nul Ou Date, NumeroEmploye : Nul Ou Entier, Salaire : Nul Ou Reel)
TailleTableauResultatSql 256
ParametreSql (NumeroDepartement : Entier) OrdreSqlStatique
SELECT ename:=${NomEmploye}, hiredate:=${DateEmbauche}, empno:=${NumeroEmploye}, sal:=${Salaire}
FROM emp
WHERE deptno=${NumeroDepartement};
...
OrdreSql MonOrdreSql ParametreSql (NumeroEmploye, Salaire);
...
Fin RequeteSql
...
/* On vide les tableaux des parametres. */
ViderTableauParametre MonOrdreSql;
...
Fin Principal
- | - | - | - | - | - | - | - | - |