Fonction Habilitation ListerClesPrimaires(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 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é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ées.
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, de la vue ou du synonyme. |
NomContrainte | Caractere | Nom de la contrainte. |
EstUnique | EstUnique | Si Vrai, la clé est unique. |
NomColonne | Caractere | Nom de la colonne contrainte. |
NumeroColonne | Entier | Numéro de la colonne contrainte. |
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;
NomContrainte : Nul Ou Caractere;
EstUnique : Booleen;
NomColonne : Nul Ou Caractere;
NumeroColonne : Nul Ou Entier;
Debut
...
Si MaConnexionSql.ListerClesPrimairesSupporte Alors
MonResultatSql=MaConnexionSql.ListerClesPrimaires();
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("NomContrainte", NomContrainte);
Enregistrement.LireResultat("EstUnique", EstUnique);
Enregistrement.LireResultat("NomColonne", NomColonne);
Enregistrement.LireResultat("NumeroColonne", NumeroColonne);
...
Fin Pour
...
Fin Principal
ListerClesPrimairesSupporte pour connaître si le listage des clés primaires est supporté.
- | - | - | - | - | - | - | - | - |