pik*_*ikk 2 progress-4gl openedge
我有一个名为 tt 的临时表。我想使用我的临时表创建一个具有相同字段名称和类型的数据库表。
我不知道在Progress-4gl 中该怎么做。这可能吗 ?
谢谢。
简短回答:是的
最安全的方法是通过代码来做到这一点是创建一个增量 df 然后加载它。这是一个非常部分的开始,应该可以帮助您前进:
DEFINE TEMP-TABLE tt NO-UNDO
FIELD ii AS INT
FIELD cc AS CHAR
INDEX ttix IS UNIQUE PRIMARY ii.
DEF VAR hb AS HANDLE NO-UNDO.
DEF VAR hf AS HANDLE NO-UNDO.
DEF VAR ifield AS INT NO-UNDO.
hb = TEMP-TABLE tt:DEFAULT-BUFFER-HANDLE.
OUTPUT TO "tt.df".
PUT UNFORMATTED SUBSTITUTE( "ADD TABLE &1", QUOTER( hb:NAME ) ) SKIP.
DO ifield = 1 TO hb:NUM-FIELDS:
hf = hb:BUFFER-FIELD( ifield ).
PUT UNFORMATTED
SUBSTITUTE(
"ADD FIELD &1 OF &2 AS &3",
QUOTER( hf:NAME ),
QUOTER( hb:NAME ),
hf:DATA-TYPE
) SKIP.
/* to do: add other field attributes like label, initial value, decimals, format */
END.
/* to do: add indices */
OUTPUT CLOSE.
Run Code Online (Sandbox Code Playgroud)
生成的 df 可以加载:
RUN prodict/load_df.p ( "tt.df" ).
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2092 次 |
| 最近记录: |