IMS 数据库 – 数据操作
IMS 数据库 – 数据操作
IMS DL/I 调用中使用的不同数据操作方法如下 –
- ISRT 电话
- 接听电话
- REPL 调用
- DLET 呼叫
让我们考虑以下 IMS 数据库结构来了解数据操作函数调用 –
ISRT 电话
注意事项 –
-
ISRT 调用称为插入调用,用于将出现的段添加到数据库中。
-
ISRT 调用用于加载新数据库。
-
当段描述字段加载数据时,我们发出 ISRT 调用。
-
必须在调用中指定不合格或合格的 SSA,以便 DL/I 知道将段出现放在哪里。
-
我们可以在通话中结合使用不合格和合格的 SSA。可以为上述所有级别指定合格的 SSA。让我们考虑以下示例 –
CALL 'CBLTDLI' USING DLI-ISRT PCB-NAME IO-AREA LIBRARY-SSA BOOKS-SSA UNQUALIFIED-ENGINEERING-SSA
上面的示例显示我们通过提供合格和不合格 SSA 的组合来发出 ISRT 调用。
当我们插入的新段具有唯一键字段时,会将其添加到适当的位置。如果键字段不是唯一的,则由数据库管理员定义的规则添加它。
当我们在不指定键字段的情况下发出 ISRT 调用时,插入规则会告诉将段相对于现有双段放在何处。下面给出的是插入规则 –
-
First – 如果规则是 first,则在任何现有双胞胎之前添加新段。
-
Last – 如果规则是最后一个,则在所有现有双胞胎之后添加新段。
-
此处 – 如果规则在此处,则将其添加到相对于现有双胞胎的当前位置,可能是第一个、最后一个或任何位置。
状态代码
下表显示了 ISRT 调用后的相关状态代码 –
S.No | 状态代码和描述 |
---|---|
1 |
Spaces 通话成功 |
2 |
GE 使用多个SSA,DL/I无法满足指定路径的呼叫。 |
3 |
II 尝试添加数据库中已存在的段出现。 |
4 |
LB / LC LD / LE 我们在加载处理时获得这些状态代码。在大多数情况下,它们表明您没有以精确的层次结构顺序插入段。 |
获取保持呼叫
注意事项 –
-
我们在 DL/I 呼叫中指定了三种类型的获取保持呼叫:
-
保持独特 (GHU)
-
下一步 (GHN)
-
在父级中保持下一步 (GHNP)
-
-
Hold 函数指定我们将在检索后更新段。因此,在 REPL 或 DLET 调用之前,必须发出成功的保持调用,告知 DL/I 更新数据库的意图。
REPL 调用
注意事项 –
-
在成功获取保持调用后,我们发出 REPL 调用以更新段出现。
-
我们不能使用 REPL 调用更改段的长度。
-
我们无法使用 REPL 调用更改键字段的值。
-
我们不能在 REPL 调用中使用合格的 SSA。如果我们指定一个合格的 SSA,那么调用就会失败。
CALL 'CBLTDLI' USING DLI-GHU PCB-NAME IO-AREA LIBRARY-SSA BOOKS-SSA ENGINEERING-SSA IT-SSA. *Move the values which you want to update in IT segment occurrence* CALL ‘CBLTDLI’ USING DLI-REPL PCB-NAME IO-AREA.
上面的示例使用 REPL 调用更新 IT 段出现。首先,我们发出一个 GHU 调用来获取我们想要更新的段出现。然后,我们发出 REPL 调用来更新该段的值。
DLET 呼叫
注意事项 –
-
DLET 调用的工作方式与 REPL 调用的工作方式大致相同。
-
在成功获取保持调用后,我们发出 DLET 调用以删除段出现。
-
我们不能在 DLET 调用中使用合格的 SSA。如果我们指定一个合格的 SSA,那么调用就会失败。
CALL 'CBLTDLI' USING DLI-GHU PCB-NAME IO-AREA LIBRARY-SSA BOOKS-SSA ENGINEERING-SSA IT-SSA. CALL ‘CBLTDLI’ USING DLI-DLET PCB-NAME IO-AREA.
上面的示例使用 DLET 调用删除 IT 段出现。首先,我们发出一个 GHU 调用来获取我们想要删除的段出现。然后,我们发出 DLET 调用来更新该段的值。
状态代码
下表显示了 REPL 或 DLET 调用后的相关状态代码 –
S.No | 状态代码和描述 |
---|---|
1 |
Spaces 通话成功 |
2 |
AJ 用于 REPL 或 DLET 调用的合格 SSA。 |
3 |
DJ 程序发出一个替换调用,而没有紧接在前面的 get 保持调用。 |
4 |
DA 程序在发出 REPL 或 DLET 调用之前对段的键字段进行更改 |