Какой запрос для получения имени базы данных в Progress-OpenEdge?

Как мы можем получить имя базы данных в progress openge, как в SQL мы можем получить имя базы данных с помощью show databases; или SELECT schema_name FROM information_schema.schemata; используя SQL запрос к openedge DB.


person Abhishek C    schedule 12.05.2021    source источник
comment
Это кросс-пост с community.progress.com/s/question/0D54Q00008cPhKl/   -  person Mike Fechner    schedule 12.05.2021


Ответы (2)


В АБЛ можно

DEFINE VARIABLE i AS INTEGER     NO-UNDO.

DO i = 1 TO NUM-DBS:
    MESSAGE LDBNAME (i) SKIP 
            PDBNAME (i) SKIP 
            DBPARAM (i)
        VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
END.

В OpenEdge SQL команда SHOW CATALOGS возвращает имена баз данных/каталогов:

https://docs.progress.com/bundle/openedge-sql-reference/page/SHOW-CATALOGS.html?_ga=2.234385114.558448476.1620632697-128156788.1596090319

SHOW CATALOGS PRO_NAME;
person Mike Fechner    schedule 12.05.2021
comment
Я хочу в SQL-запросе, а не в ABL. - person Abhishek C; 12.05.2021
comment
Вы отметили свой вопрос с помощью progress-4gl. Это наводит людей на мысль, что, возможно, вы используете двигатель 4gl. Который также содержит некоторый (очень ограниченный) синтаксис SQL. - person Tom Bascom; 12.05.2021

На всякий случай ссылка на Progress Communities исчезнет:

Валерий Башкатов (ООО «Прогресс Технологии»)

Вы должны запустить это с привилегированным пользователем DBA.

выберите * из sysprogress.SYSTABLES;

выберите * из sysprogress.SYSTABLES_FULL;

выберите * из sysprogress.SYSCOLUMNS, где TBL = 'table_name';

выберите * из sysprogress.SYSCOLUMNS_FULL, где TBL = 'table_name';

person Tom Bascom    schedule 12.05.2021