如何使用ABL在Progress OpenEdge中创建/删除表?

时间:2015-05-14 08:48:45

标签: progress-4gl openedge

我只是想知道是否有办法使用ABL代码创建和删除表(不是临时表)。我知道通过数据字典工具创建/删除表。此外,我发现有一种方法可以使用prodict / load_df.p创建一个表(通过加载.df文件)。但我正在寻找像#34; CREATE TABLE"和" DROP TABLE"在ABL。

4 个答案:

答案 0 :(得分:1)

没有这样的陈述。

从理论上讲,你可以简单地使用CREATE _FILE等等,但细节没有记载,如果搞砸了你就会陷入伤害的世界。

支持的方法是调用数据字典API(加载.df文件,因为您已经找到)。

答案 1 :(得分:1)

如果您在一个会话中创建和删除表,那么,您可能应该使用临时表。

答案 2 :(得分:0)

就像汤姆说的那样,没有办法从ABL / 4GL中做到这一点。您始终可以使用代码为添加/删除生成DF文件。

请记住,您无法与连接到数据库的用户进行大多数架构更改。 Progress不会像Oracle,DB2等那样处理模式更改。

ABL / 4GL创建表和SQL创建表有不同的存储池和规则。

答案 3 :(得分:0)

我会创建一个df文件,然后使用

加载它
RUN prodict/load_df.p(INPUT DfFile).

因此,您可以更改架构。然而,我没有测试它,也不知道这是否适用于服务数据库(与单用户连接相比)。