Fonction Habilitation ListerProcedures(NomProprietaire : Nul Ou Caractere=Nul, NomCatalogue : Nul Ou Caractere=Nul, NomSchema : Nul Ou Caractere=Nul, NomProcedure : Nul Ou Caractere=Nul, TTR : Entier=1, ModeOptimisation : ModeOptimisationFlux=Asynchrone4096) Retourner Nul Ou IResultatRequete;
Si le nom du propriétaire est précisé dans le paramète NomProprietaire, alors seules les procédures ou les fonctions stockées de ce propriétaire sont remontées.
La fin du nom du propriétaire peut être le caractère joker *. En ce cas, toutes les procédures ou les fonctions stockées des propriétaires dont le nom correspond au modèle sont examinés.
Si le nom du catalogue est précisé dans le paramète NomCatalogue, alors seules les procédures ou les fonctions de ce catalogue sont remontées.
La fin du nom du catalogue peut être le caractère joker *. En ce cas, tous les catalogues dont le nom correspond au modèle sont examinés.
Si le nom du schéma est précisé dans le paramète NomSchema, alors seules les procédures ou les fonctions de ce schéma sont remontées.
La fin du nom du schéma peut être le caractère joker *. En ce cas, tous les schémas dont le nom correspond au modèle sont examinés.
Si le nom de la table est précisé dans le paramète NomProcedure, alors les procédures ou les fonctions ci-dénommées sont remontées.
La fin du nom de la procédure peut être le caractère joker *. En ce cas, toutes les procédures, les fonctions dont le nom correspond au modèle sont examinés.
Si le paramètre TTR spécifiant la taille des tableaux pour les résultats a pour valeur 1, alors les enregistrements sont produits rang après rang.
Sinon les enregistrements sont produits par tableau dont la taille est donnée par TTR.
La gestion des tableaux est automatisée pour rendre le principe d'Array Fetch Processing transparent.
Après avoir exécuté la requête sur le dictionnaire de la base de données, Up ! Virtual Technical Machine rècupère tous les enregistrements produits et les conserve dans un espace de mémoire virtuelle dont la taille de l'anté-mémoire est définie par la valeur du paramètre ModeOptimisation. Pour plus de précisions, merci de se référer à la fiche ModeOptimisationFlux.
Cette méthode a deux avantages :
Le format d'un enregistrement résultat est le suivant :
Nom du champ | Type du champ | Description du champ |
NomProprietaire | Caractere | Nom du propriétaire. |
NomCatalogue | Caractere | Nom du catalogue. |
NomSchema | Caractere | Nom du schéma. |
NomProcedure | Caractere | Nom de la procédure ou de la fonction. |
EstUneFonction | Booleen | Si Vrai, il s'agit d'une fonction et non d'une procédure. |
NbParametres | Entier | Nombre de paramètres de la procédure ou de la fonction. |
Commentaire | Caractere | Commentaire associé au schéma. |
Si la méthode échoue, alors l'exception ErreurOrdreSql est envoyée.
Si la méthode n'est pas supportée, alors le résultat est Nul.
Principal
/*******/
Variable
/******/
MaConnexion : Nul Ou IConnexionSql;
MonResultatSql : Nul Ou IResultatRequete;
Enregistrement : Nul Ou EnregistrementSql;
NomProprietaire : Nul Ou Caractere;
NomCatalogue : Nul Ou Caractere;
NomSchema : Nul Ou Caractere;
NomProcedure : Nul Ou Caractere;
EstUneFonction : Booleen;
NbParametres : Entier;
Commentaire : Nul Ou Caractere;
Debut
...
Si MaConnexionSql.ListerProceduresSupporte Alors
MonResultatSql=MaConnexionSql.ListerProcedures();
Pour Enregistrement=MonResultatSql.ParcoursAuDebut() JusquA MonResultatSql.DernierElement() Faire
Enregistrement.LireResultat("NomProprietaire", NomProprietaire);
Enregistrement.LireResultat("NomCatalogue", NomCatalogue);
Enregistrement.LireResultat("NomSchema", NomSchema);
Enregistrement.LireResultat("NomProcedure", NomProcedure);
Enregistrement.LireResultat("EstUneFonction", EstUneFonction);
Enregistrement.LireResultat("NbParametres", NbParametres);
Enregistrement.LireResultat("Commentaire", Commentaire);
...
Fin Pour
...
Fin Principal
ListerProceduresSupporte pour connaître si le listage des procédures est supporté.
- | - | - | - | - | - | - | - | - |