在 Progress-OpenEdge 中获取数据库名称的查询是什么?

问题描述

我们如何在progress opensge获取数据库名称,就像在sql中一样,我们可以使用show databases获取数据库名称; 或 SELECT schema_name FROM @R_555_4045@ion_schema.schemata; 使用 sql 查询openedge DB

解决方法

在 ABL 中你可以

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;
,
select db_name() from sysprogress.syscalctable;
,

以防万一“进步社区”的链接消失:

Valeriy Bashkatov(Progress Technologies LLC)

您应该使用 DBA 特权用户运行它。

select * from sysprogress.SYSTABLES;

select * from sysprogress.SYSTABLES_FULL;

select * from sysprogress.SYSCOLUMNS where TBL = 'table_name';

select * from sysprogress.SYSCOLUMNS_FULL where TBL = 'table_name';