Up ! Query et Up ! Oracle - Dictionnaire de données et de traitements - Version déclarative

Ce programme exécute interroge le dictionnaire de données et de traitements de Oracle.

Le fichier source est ${UPS_HOME}/upsqry/demo/${UPS_LANGUAGE}/oracle4.upl.

Cet exemple utilise les instructions de l'extension d'Up ! 5GL pour Up ! Query. Les objets sémantiques sont déclarés statiquement.

Pour compiler, UpsQry.upi doit être déclaré parmi les modules importés dans le fichier ${UPS_HOME}/ini/${UPS_USER}/upsp5l.ini.

Pour exécuter, les scripts :

Mode compilé

Commande de compilation

upscmp Source=oracle4.upl

Commande d'exécution

oracle4 ConnexionOracle=scott/tiger

Mode interprété

upssng Source=oracle4.upl ConnexionOracle=scott/tiger

Fichier source

Source Composant "Exemple d'emploi d'Up ! Oracle" Version 4.0.0;

ImporterModule
/************/

ConnexionSql
/**********/
Procedure ListerLesCatalogues()
/*****************************/
Debut
Ecran.Ecrire("ListerCatalogues");
Ecran.Ecrire("================");
RequeteSql CataloguesSql ConnexionSql MaConnexionSql Fin RequeteSql
Fin Procedure

Procedure ListerLesSchemas()
/**************************/
Debut
Ecran.Ecrire("ListerSchemas");
Ecran.Ecrire("=============");
RequeteSql SchemasSql ConnexionSql MaConnexionSql Fin RequeteSql
Fin Procedure

Procedure ListerLesColonnes(NomCatalogue : Nul Ou Caractere, NomSchema : Nul Ou Caractere, NomTable : Nul Ou Caractere)
/*********************************************************************************************************************/
Variable
/******/
Debut Ecran.Ecrire("ListerColonnes");
Ecran.Ecrire("--------------");
RequeteSql ColonnesTablesSql ConnexionSql MaConnexionSql Fin RequeteSql
Fin Procedure

Procedure ListerLesClesPrimaires(NomCatalogue : Nul Ou Caractere, NomSchema : Nul Ou Caractere, NomTable : Nul Ou Caractere)
/**************************************************************************************************************************/
Debut Ecran.Ecrire("ListerClesPrimaires");
Ecran.Ecrire("-------------------");
RequeteSql ClesPrimairesSql ConnexionSql MaConnexionSql Fin RequeteSql
Fin Procedure

Procedure ListerLesClesEtrangeres(NomCatalogue : Nul Ou Caractere, NomSchema : Nul Ou Caractere, NomTable : Nul Ou Caractere)
/***************************************************************************************************************************/
Debut
Ecran.Ecrire("ListerClesEtrangeres");
Ecran.Ecrire("--------------------");
RequeteSql ClesEtrangeresSql ConnexionSql MaConnexionSql Fin RequeteSql
Fin Procedure

Procedure ListerLesIndex(NomCatalogue : Nul Ou Caractere, NomSchema : Nul Ou Caractere, NomTable : Nul Ou Caractere)
/******************************************************************************************************************/
Debut
Ecran.Ecrire("ListerClesIndex");
Ecran.Ecrire("---------------");
RequeteSql IndexSql ConnexionSql MaConnexionSql Fin RequeteSql
Fin Procedure

Procedure ListerLesTables()
/*************************/
Debut
Ecran.Ecrire("ListerTables");
Ecran.Ecrire("============");
RequeteSql TablesSql ConnexionSql MaConnexionSql Fin RequeteSql
Fin Procedure

Procedure ListerLesParametres(NomCatalogue : Nul Ou Caractere, NomSchema : Nul Ou Caractere, NomProcedure : Nul Ou Caractere)
/***************************************************************************************************************************/
Variable
/******/
Debut
Ecran.Ecrire("ListerParametres");
Ecran.Ecrire("---------------");
RequeteSql ParametresProceduresSql ConnexionSql MaConnexionSql Fin RequeteSql
Fin Procedure

Procedure ListerLesProcedures()
/*****************************/
Debut
Ecran.Ecrire("ListerProcedures");
Ecran.Ecrire("================");
RequeteSql ProceduresSql ConnexionSql MaConnexionSql Fin RequeteSql
Fin Procedure

Principal
/*******/
Debut
Si MaConnexionSql.ListerCataloguesSupporte Alors Sinon Fin Si
Ecran.Ecrire(");
Si MaConnexionSql.ListerSchemasSupporte Alors Sinon Fin Si
Ecran.Ecrire(");
Si MaConnexionSql.ListerTablesSupporte Alors Sinon Fin Si
Ecran.Ecrire(");
Si MaConnexionSql.ListerProceduresSupporte Alors Sinon Fin Si
Ecran.Ecrire(");
Fin Principal

Résultat de l'exécution

ListerCatalogues() non supporte. ListerSchemas ============= ? - SYSAUX - ? ? - SYSTEM - ? ? - TEMP - ? ? - UNDO - ? ? - USERS - ? ListerTables ============ ? - USERS - BONUS - Table - ? ListerColonnes -------------- ENAME - Nul Ou Caractere(10) - ? JOB - Nul Ou Caractere(9) - ? SAL - Nul Ou Reel(22) - ? COMM - Nul Ou Reel(22) - ? ListerClesPrimaires ------------------- ListerClesEtrangeres -------------------- ListerClesIndex --------------- ----------- ? - USERS - DEPT - Table - Departements ListerColonnes -------------- DEPTNO - Reel(22) - Numero du departement DNAME - Caractere(14) - Nom du departement LOC - Nul Ou Caractere(13) - Lieu du departement ListerClesPrimaires ------------------- SYS_C004175 - Non unique - DEPTNO - 1 ListerClesEtrangeres -------------------- ListerClesIndex --------------- SYS_C004175 - Non unique - DEPTNO - 1 ----------- ? - USERS - EMP - Table - Employes ListerColonnes -------------- EMPNO - Reel(22) - Numero de l'employe ENAME - Caractere(10) - Nom de l'employe JOB - Nul Ou Caractere(9) - Profession de l'employe MGR - Nul Ou Reel(22) - Numero du superieur hierarchique de l'employe HIREDATE - Nul Ou Date(7) - Date d'embauche de l'employe SAL - Nul Ou Reel(22) - Salaire de l'employe COMM - Nul Ou Reel(22) - Commission de l'employe DEPTNO - Nul Ou Reel(22) - Numero du departement de l'employe ListerClesPrimaires ------------------- SYS_C004177 - Non unique - EMPNO - 1 ListerClesEtrangeres -------------------- FK_EMP_DEPTNO - DEPTNO - DEPT.DEPTNO ListerClesIndex --------------- SYS_C004177 - Non unique - EMPNO - 1 ----------- ? - USERS - EMP_DESC - Table - Description des employes ListerColonnes -------------- EMPNO - Nul Ou Reel(22) - Numero de l'employe DESCRIPTION - Nul Ou Caractere(4000) - Description de l'employe ListerClesPrimaires ------------------- ListerClesEtrangeres -------------------- FK_EMP_DESC_EMPNO - EMPNO - EMP.EMPNO ListerClesIndex --------------- ----------- ? - USERS - EMP_PICT - Table - Photos des employes ListerColonnes -------------- EMPNO - Nul Ou Reel(22) - Numero de l'employe PICTURE - Nul Ou Binaire(4000) - Photo de l'employe ListerClesPrimaires ------------------- ListerClesEtrangeres -------------------- FK_EMP_PICT_EMPNO - EMPNO - EMP.EMPNO ListerClesIndex --------------- ----------- ? - USERS - SALGRADE - Table - ? ListerColonnes -------------- GRADE - Nul Ou Reel(22) - ? LOSAL - Nul Ou Reel(22) - ? HISAL - Nul Ou Reel(22) - ? ListerClesPrimaires ------------------- ListerClesEtrangeres -------------------- ListerClesIndex --------------- ----------- ? - USERS - S_DEPT - Synonyme - ? ? - USERS - S_EMP - Synonyme - ? ? - ? - V_DEPT - Vue - ? ? - ? - V_EMP - Vue - ? ListerProcedures ================ MAFONCTION - Fonction - ? ListerParametres --------------- Resultat - Nul Ou Reel(22) - Sortie - ? NUMERODEPARTEMENT - Nul Ou Reel(22) - Entree - ? ----------- MAFONCTION - Fonction - ? ListerParametres --------------- Resultat - Nul Ou Reel(22) - Sortie - ? NUMERODEPARTEMENT - Nul Ou Reel(22) - Entree - ? ----------- MAPROCEDURE - Procedure - ? ListerParametres --------------- ----------- MAFONCTION2 - Fonction - ? ListerParametres --------------- Resultat - Nul Ou Reel(22) - Sortie - ? NUMERODEPARTEMENT - Nul Ou Reel(22) - Entree - ? ----------- MAPROCEDURE2 - Procedure - ? ListerParametres --------------- NUMERODEPARTEMENT - Nul Ou Reel(22) - Entree - ? SALAIREMIN - Nul Ou Reel(22) - Sortie - ? SALAIREMAX - Nul Ou Reel(22) - Sortie - ? ----------- ISAFUNCTION - Fonction - ? ListerParametres --------------- Resultat - Nul Ou Reel(22) - Sortie - ? POWNER - Nul Ou Caractere - Entree - ? POBJECTNAME - Nul Ou Caractere - Entree - ? PPROCEDURENAME - Nul Ou Caractere - Entree - ? ----------- PROCEDURE_NBPARAMETERS - Fonction - ? ListerParametres --------------- Resultat - Nul Ou Reel(22) - Sortie - ? POWNER - Nul Ou Caractere - Entree - ? POBJECTNAME - Nul Ou Caractere - Entree - ? PPROCEDURENAME - Nul Ou Caractere - Entree - ? -----------