ibm-midrange - 使用 SQL,是否可以创建与它所基于的原始文件(PF)具有相同格式级别标识符的全局临时表?
问题描述
程序 A 调用程序 B。我正在基于 Prog B 中的文件 A 创建全局临时表。
我必须打开并读取 Program A 中的临时表。我在 F Spec 中使用了 EXTFILE 操作码来编译 Prog A。
fFILEA if e disk extfile(wrk_filnam)
f usropn
/free
wrk_filnam = 'QTEMP/TEMP_TABLE'
open FILEA
/end-free
当我返回 Prog A 并打开文件 A 时,我收到级别检查错误,因为临时表是使用新的格式级别标识符创建的。
有解决方法吗?如果我可以使用 CRTDUPOBJ 那就太好了。
解决方案
只要您确保与原始记录格式名称相同,sql 语句DECLARE GLOBAL TEMPORARY TABLE tmptable LIKE srctable RCDFMT srcfmt
就会tmptable
使用相同的格式级别标识符创建。srctable
srcfmt
您是否使用正确的文件进行编译以获得正确的级别标识符?您可以使用DSPPGMREF
来找出程序对每个文件的预期级别标识符。
推荐阅读
- algorithm - 在具有邻接列表(数据结构)的图中查找循环
- python - Python - 过滤 BS4 内容
- php - 在 Laravel 中使用未定义的常量“lte”错误
- mysql - SQLSTATE [23000]:违反完整性约束:4025 CONSTRAINT
- docker - 使用 GitLab CI 构建 Singularity 容器
- c++ - CUDA 内核是否需要将 const 放入所有按值传递的参数中?
- python - Tweepy 没有获取所有的推文
- java - Ravendb 按值查询顺序
- css - 如何通过 CSS 设置更改 Blazor 中的文本颜色
- react-native - 使用 react-native 和 styled-components 如何更改子道具?