找到关于 DB2 的 150 篇文章

各种 DB2 数据类型的 COBOL 主变量等效项是什么?

Mandalika
更新于 2020年12月1日 05:07:03

818 次浏览

问题:当 COBOL-DB2 程序中主机变量与 SELECT 语句中的列数不匹配时,程序将如何运行?解决方案如果列数和主机变量数不匹配,则查询将失败。例如,如果我们在处理 ORDERS DB2 表的 COBOL-DB2 程序中使用了以下查询。示例EXEC SQL SELECT ORDER_ID, ORDER_AMOUNT, ORDER_DATE, ORDER_STATUS INTO :WS-ORDER-ID, :WS-ORDER-AMOUNT, :WS-ORDER-DATE, FROM ORDERS WHERE ORDER_DATE = ‘2020-09-15’ END-EXEC存在不匹配... 阅读更多

“FOR UPDATE OF” 子句在 COBOL-DB2 程序中的用途是什么?

Mandalika
更新于 2020年12月1日 05:05:31

4K+ 次浏览

问题:“FOR UPDATE OF” 子句在游标中的作用是什么?如果我们在 COBOL-DB2 程序中不使用此子句就执行 UPDATE 语句,将会发生什么情况?解决方案“FOR UPDATE OF” 子句在游标声明中给出,当我们想要更新表时使用。所有需要更新的列都应该在游标声明中给出。“FOR UPDATE OF” 子句将在游标打开后对所有符合条件的行放置独占锁。我们也可以不使用“FOR UPDATE CLAUSE”来更新表,但在这种情况下... 阅读更多

对具有两个表之间 JOIN 的游标进行更新操作是什么?

Mandalika
更新于 2020年12月1日 05:04:28

661 次浏览

问题:是否可以更新一个在两个表 ORDERS 和 TRANSACTIONS 上使用了 JOIN 的游标?为什么或为什么不?我们如何继续更新这些表中的任何一个?解决方案每当我们在两个或多个表(在本例中为 ORDERS 和 TRANSACTIONS)上的游标中使用 JOIN 时,就会在虚拟内存中生成一个临时表。但是,由于这是一个临时表,我们可以从该表中获取数据,但无法更新该表。如果我们想更新 JOIN 中使用的任何表,则必须声明... 阅读更多

当 DB2 程序在不同的日期编译和绑定时,执行结果是什么?

Mandalika
更新于 2020年12月1日 05:02:19

181 次浏览

问题:DB2 程序 PROGA 已更改并编译,但在 3 天后绑定。如果我们在第 4 天执行此程序,将会发生什么情况?解决方案预编译器将当前时间戳插入修改后的源代码和 DBRM 中。对于修改后的源代码,此时间戳传递到加载模块,对于 DBRM,时间戳传递到包。在程序执行时,比较加载模块和包的时间戳。进行此比较是为了确保使用了正确的包和加载模块版本... 阅读更多

显示所有 DB2 数据库组件的面板命令是什么?

Mandalika
更新于 2020年12月1日 05:01:29

163 次浏览

问题:给出并解释面板命令,以显示 DB2 数据库 DSNDB01 的所有组件及其状态。解决方案DB2 是一个关系数据库,可以将其可视化为具有物理结构和逻辑结构。物理结构包含日志文件、缓冲池、控制文件等组件。逻辑结构包含表空间、索引空间、表、视图、包、计划等组件。物理结构的组件访问权限受限,只有 DBA 可以访问这些文件。但是,我们可以使用以下 2 个选项中的任何一个来查看逻辑结构的组件。使用 DB2 管理... 阅读更多

解释 DB2 中完整性的概念以及完整性的类型

Mandalika
更新于 2020年12月1日 04:53:43

654 次浏览

问题:DB2 中的完整性是什么?借助 ORDERS 表中的示例,解释域、实体和参照完整性。解决方案完整性是指 DB2 数据库中存在的数据的准确性、一致性和正确性。数据完整性是在数据库设计期间施加的,以确保驻留在数据库中的数据保持完整、准确和可靠。下图描述了三种类型的完整性。域完整性它确保 DB2 表中的列数据符合允许的值集。例如,在 ORDERS 表中,ORDER_DATE 列上的域完整性确保数据... 阅读更多

编写一个 DB2 查询,以查找 ORDERS DB2 表中所有重复的 INVOICE_ID?

Mandalika
更新于 2020年12月1日 04:51:10

985 次浏览

可以使用 GROUP BY 与 HAVING 子句和 COUNT 函数的组合来查找 ORDERS DB2 表中的重复 INVOICE_ID。GROUP BY 将使我们能够按发票分组结果,而 COUNT 函数将使我们能够计算每个组中出现的次数。我们可以在 HAVING 子句中使用谓词来过滤计数大于 1 的组的结果。下面是我们可以用来在 ORDERS DB2 表中查找重复发票的 SQL 查询。示例SELECT INVOICE_ID FROM ORDERS GROUP BY INVOICE_ID HAVING COUNT(INVOICE_ID) > 1例如,如果我们有... 阅读更多

DB2 中的 -551 错误代码是什么?你将如何解决它?

Mandalika
更新于 2020年12月1日 04:48:36

4K+ 次浏览

当我们在 SQLCODE 中得到 -551 时,则存在某种权限级别问题。它表示用户无权访问他试图访问的数据库/表空间/视图/表。根据 IBM 文档,-551 SQLCODE 指明。示例-551 auth-id DOES NOT HAVE THE PRIVILEGE TO PERFORM OPERATION operation ON OBJECT object-nameDBA 使用 DCL(数据控制语言)语句来控制对 DB2 对象的访问。我们可以向 DBA 提出请求,以提供对用户收到 -551 SQLCODE 的特定对象的访问权限。以下 DCL 语句将授予访问权限... 阅读更多

什么是 QMF 和 SPUFI?它们在访问 DB2 表方面的区别是什么?

Mandalika
更新于 2020年12月1日 04:47:26

2K+ 次浏览

QMF 和 SPUFI 都是用于在大型机环境中访问 DB2 数据库的工具。使用这些工具,我们可以从 DB2 数据库中选择、更新和删除数据。QMF 代表查询管理工具,SPUFI 代表使用文件输入的 SQL 处理器。以下是 QMF 和 SPUFI 之间的区别。SPUFI 是一个免费工具,随大型机 DB2 安装一起提供,而 QMF 是一个单独的许可工具QMF 是一个交互式工具,可用于报告和格式化,但在 SPUFI 的情况下,我们需要在大型机数据集中编写 SQL 查询,然后... 阅读更多

OPTIMIZE FOR ROWS 在 DB2 SQL 中的目的是什么?它有什么用?

Mandalika
更新于 2020年12月1日 04:46:23

876 次浏览

OPTIMIZE FOR N ROWS 是一个 DB2 子句,我们可以将其添加到查询中,以仅优先检索前几行。此子句将使优化器能够选择最大限度地减少获取前几行响应时间的访问路径。OPTIMIZE FOR N ROWS 子句对 SELECT DISTINCT 和 COUNT 函数无效,因为 DB2 需要所有符合条件的行才能获取 DISTINCT 行或计算行数。OPTIMIZE FOR N ROWS 子句使 DB2 有更好的机会建立访问路径。... 阅读更多

广告