找到 1660 篇文章,主题为大数据分析

如果 DCLGEN 与 COPY 语句一起使用,而不是 INCLUDE 语句,结果会怎样?

Mandalika
更新于 2020年9月14日 11:01:31

2K+ 浏览量

INCLUDE 语句和 COPY 语句的主要区别在于:INCLUDE 语句中的 PDS 成员在预编译期间展开,而 COPY 语句中的 PDS 成员在编译期间展开。由于 DCLGEN 成员包含表的列名(表结构),因此有必要在预编译期间展开它。这是因为在预编译时,所有 SQL 语句都将被验证,放入 DBRM 中,最后被替换为相应的 COBOL 调用。如果 DCLGEN 成员使用 COPY 语句而不是 INCLUDE 语句,则预编译期间会产生 DB2 警告,因为预编译器将不会…… 阅读更多

在 COBOL-DB2 程序中使用 DCLGEN 和主机变量的用途和目的是什么?

Mandalika
更新于 2020年9月14日 10:58:02

4K+ 浏览量

COBOL-DB2 程序可以查询/更新/插入/删除多个 DB2 表中的数据。但是,为了实现这一点,我们必须满足两个主要条件。将 DB2 表的结构通知给 COBOL-DB2 程序。这包括所有列和这些列的数据类型。每个列的相应主机变量。主机变量用于程序逻辑中,将数据从 DB2 移动到程序,反之亦然。对于每个表列,根据其数据类型都有一个主机变量。例如,对于数据类型为 CHAR(2) 的表列,应该有一个数据类型为…… 阅读更多

DSNTIAR 的用途是什么?如何在 COBOLDB2 程序中实现它?

Mandalika
更新于 2020年9月14日 10:55:38

601 浏览量

我们使用 SQLCA 的字段来查询最近执行的 SQL 查询的状态。SQLCODE 是这样一个字段,它可以取各种值,每个值都表示特定的错误代码。例如,-180 错误代码表示时间戳格式不正确。但是,在日志中我们只得到错误代码,每次我们都必须参考 IBM 文档来检查错误代码的描述。为了克服这个问题,我们使用 DSNTIAR。DSNTIAR 是 IBM 提供的一个内置实用程序,用于 COBOL-DB2 程序。此实用程序显示…… 阅读更多

在程序中为所有 SQL 语句实现通用的错误捕获逻辑

Mandalika
更新于 2020年9月14日 10:52:41

190 浏览量

COBOL-DB2 程序可以有多个 DB2 SQL 语句。为了在 COBOL-DB2 程序中为所有 SQL 语句实现通用的错误捕获,我们将使用 WHENEVER 语句。WHENEVER 语句可以根据 SQLCA 的 SQLCODE 字段中返回的值将控制定向到错误处理部分或例程。例如,我们可以在 COBOL-DB2 程序中声明 WHENEVER 语句如下:EXEC SQL    WHENEVER SQLERROR GOTO ERROR-ROUTINE END-EXEC 在上面的示例中,只有当 SQLCODE 的值小于零时,才会设置 SQLERROR 参数,这表示发生了一些错误…… 阅读更多

如何在 COBOL-DB2 程序中使用 SQLCA?SQLCA 的用途是什么?

Mandalika
更新于 2020年9月14日 10:49:17

3K+ 浏览量

SQLCA 代表 SQL 通信区域。它是 DB2 与 COBOL 程序进行通信的媒介。在一个典型的 COBOL-DB2 程序中,使用了许多 SQL 语句。SQLCA 的主要目的是通知 COBOL 程序最近执行的 SQL 查询的状态和其他详细信息。SQLCA 的总长度为 136 字节,它由各种字段组成,例如 SQLCODE、SQLERRD、SQLWARN 等。这些字段中的每一个都提供了最后执行的 SQL 查询的具体详细信息。例如,SQLCODE 返回 DB2 错误代码(如果有),SQLWARN 返回发出的警告…… 阅读更多

什么是 DB2 中的非聚集索引?请通过实际示例进行解释。

Mandalika
更新于 2020年9月14日 10:47:33

431 浏览量

非聚集索引与聚集索引正好相反。在非聚集索引中,没有必要将具有相似索引键的数据行存储在同一页中。如果我们必须遍历表,则此索引适用。例如,如果我们考虑索引键为整数 - 2、12、14 等的情况,那么非聚集索引结构将如下所示:

什么是 DB2 中的聚集索引?请通过实际示例进行解释。

Mandalika
更新于 2020年9月14日 10:44:23

1K+ 浏览量

在 DB2 表的聚集索引中,具有相似索引键的数据行(表行)存储在同一页中。例如,如果我们有 4 个索引键 - T5623、T5611、Z9786 和 Z9078。因此,具有相似键 T5623 和 T5611 的数据行将存储在同一页中,其他相似键 Z9786 和 Z9078 将一起存储在另一页中。聚集索引结构有两种类型的页,即索引页和数据页。索引页存储所有索引键值并指向数据页,因此…… 阅读更多

如何更新 DB2 表中格式不正确的时间戳?

Mandalika
更新于 2020年9月14日 10:39:59

329 浏览量

根据标准 DB2 定义,时间戳在 DB2 存储中占用 10 个字节,在相应的 COBOL 存储中占用 26 个字节 (PIC X(26))。格式为 YYYY-MM-DDHH.MM.SS.NNNNNN。其中,YYYY:- 年 | MM:- 月 | DD:- 日 | HH:- 时 | MM:- 分 | SS:- 秒 | NNNNNN:- 毫秒 根据问题中给出的场景,时间戳为“2020-07-01 23:14”。显然,时间戳的格式不正确,因为正确的格式是 YYYY-MM-DDHH.MM.SS.NNNNNN。在这种情况下,如果我们尝试将此格式不正确的时间戳插入到定义为时间戳的 DB2 表列中…… 阅读更多

如何使用重复主键更新 DB2 表?

Mandalika
更新于 2020年9月14日 10:29:11

721 浏览量

为了维护 DB2 表的完整性,主键在整个表中始终是唯一的。例如,如果我们有一个存储所有订单的 DB2 表 ORDERS,并且该表的主键是列 ORDER_ID。那么只有一个行可以具有特定的订单 ID。这将有助于清晰地识别订单。如果我们尝试使用 COBOL-DB2 程序插入或更新具有重复主键的 DB2 表中的行,我们将得到 DB2 错误代码 -803。根据 IBM 文档 - 803 错误代码…… 阅读更多

给出在 DB2 数据库中启动特定表空间的面板命令。

Mandalika
更新于 2020年9月12日 16:22:37

107 浏览量

要在 DB2 数据库中启动特定表空间,我们可以使用以下面板命令。START DATABASE (DSNDB01) SPACENAM(TABSPAC1) 使用 START DATABASE 命令,我们还可以启动数据库和索引空间。

广告