Fonction Habilitation ListerIndex(NomProprietaire : Nul Ou Caractere=Nul, NomCatalogue : Nul Ou Caractere=Nul, NomSchema : Nul Ou Caractere=Nul, NomTable : 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 tables 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 tables des propriétaires dont le nom correspond au modèle sont examinées.
Si le nom du schéma est précisé dans le paramète NomSchema, alors seules les tables de ce schéma sont remontés.
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 du catalogue est précisé dans le paramète NomCatalogue, alors seules les tables de ce catalogue sont remontés.
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 de la table est précisé dans le paramète NomTable, alors les tables ci-dénommées sont remontées.
La fin du nom de la table peut être le caractère joker *. En ce cas, toutes les tables dont le nom correspond au modèle sont examinées.
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. |
NomTable | Caractere | Nom de la table. |
NomIndex | Caractere | Nom de l'index. |
EstUnique | Booleen | Si Vrai, l'index est unique. |
NomColonne | Caractere | Nom de la colonne indexée. |
NumeroColonne | Caractere | Numéro de la colonne indexée. |
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;
NomTable : Nul Ou Caractere;
NomIndex : Nul Ou Caractere;
EstUnique : Booleen;
NomColonne : Nul Ou Caractere;
NumeroColonne : Entier;
Debut
...
Si MaConnexionSql.ListerIndexSupporte Alors
MonResultatSql=MaConnexionSql.ListerIndex();
Pour Enregistrement=MonResultatSql.ParcoursAuDebut() JusquA MonResultatSql.DernierElement() Faire
Enregistrement.LireResultat("NomProprietaire", NomProprietaire);
Enregistrement.LireResultat("NomCatalogue", NomCatalogue);
Enregistrement.LireResultat("NomSchema", NomSchema);
Enregistrement.LireResultat("NomTable", NomTable);
Enregistrement.LireResultat("NomIndex", NomIndex);
Enregistrement.LireResultat("EstNul", EstNul);
Enregistrement.LireResultat("NomColonne", NomColonne);
Enregistrement.LireResultat("NumeroColonne", NumeroColonne);
...
Fin Pour
...
Fin Principal
ListerIndexSupporte pour connaître si le listage des index est supporté.
- | - | - | - | - | - | - | - | - |