找到 1660 篇文章 关于大数据分析

DB2 中的触发器是什么?触发器与存储过程有什么区别?

Mandalika
更新于 2020-12-01 04:43:41

1K+ 次查看

触发器是数据库程序,由 DBMS 自动触发,以响应对指定表所做的任何修改。一个触发器只能与一个表关联,并且如果发生所需的事件,则不能跳过它们。触发器类似于存储过程,因为两者都是由 DB2 直接管理的代码片段。但是,触发器是事件驱动的,并且在指定表上发生所需事件(INSERT/UPDATE/DELETE)时会自动执行。另一方面,存储过程需要在应用程序程序中显式调用。它们之间的另一个区别是,触发器是… 阅读更多

COBOL-DB2 程序如何调用存储过程?请举例说明。

Mandalika
更新于 2020-12-01 04:41:51

4K+ 次查看

存储过程通常包含一个或多个程序中经常使用的 SQL 语句。存储过程的主要优点是它减少了 COBOL 和 DB2 之间的数据流量,因为存储过程驻留在 DB2 中。COBOL-DB2 程序可以使用 CALL 语句调用存储过程,并且我们可以嵌套存储过程最多 16 层。例如,如果我们有一个名为 ORDERSTAT 的存储过程,那么我们可以使用以下命令在我们的 COBOL-DB2 程序中调用它:示例EXEC SQL    CALL ORDERSTAT (:WS-ORDER-ID, :WS-ORDER-STATUS) END-EXEC为了创建 DB2 过程,我们需要… 阅读更多

数据库停机对 COBOL-DB2 程序的影响

Mandalika
更新于 2020-12-01 04:40:37

896 次查看

问题:如果 COBOL-DB2 程序尝试查询 DB2 表,但表所在的数据库已关闭,结果会怎样?解决方案当我们尝试使用 COBOL-DB2 程序访问任何表并且该表所在的 DB2 数据库已关闭时,COBOL-DB2 程序将异常终止。在这种情况下,SQLCA 字段的 SQLCODE 将值为 -904。根据 IBM 文档,SQLCODE -904 指示“资源不可用。数据库或表空间不可用”有几种方法可以用来查找… 阅读更多

调查 DB2 中死锁的根本原因和相关资源

Mandalika
更新于 2020-11-30 09:41:18

1K+ 次查看

问题:由于死锁,COBOL-DB2 程序失败。您将如何找到导致程序失败的资源?解决方案当两个或多个应用程序发生死锁时,它们会互相等待对方释放它们所需的资源上的锁。可以在 DB2 系统作业 DSNZMSTR 作业中找到详细的信息和日志。DSNZ 是已安装的 DB2 子系统的名称,它因安装而异。此作业的 SYSOUT 继续显示 DB2 级系统日志。与死锁相关的日志也存在于… 阅读更多

以示例说明锁升级的概念

Mandalika
更新于 2020-11-30 09:40:03

529 次查看

DB2 锁升级定义为获取特定资源上更严格的锁的过程。DB2 将锁升级用于尝试访问同一 DB2 资源的并发进程。基本上,有三种类型的锁。共享锁 (S)并发进程可以在资源(DB2 表、行、页面等)上放置共享锁,但不能更新数据。为了更新数据,并发进程必须将其锁升级到更新。更新锁 (U)并发进程可以读取数据,但不能更新它。更新锁表示该进程已准备好更新… 阅读更多

直接索引查找的实现和目的

Mandalika
更新于 2020-11-30 09:38:27

134 次查看

当 WHERE 子句谓词中使用的所有列都是索引的一部分时,DB2 优化器会选择直接索引查找。例如,如果我们有如下 ORDERS DB2 表。ORDER_IDORDER_DATEORDER_TOTALZ2234530-10-2020342Z3341214-08-2020543Z5699019-10-2020431Z5690221-09-20206743Z9978104-11-2020443Z5611229-08-2020889在此表中,有一个构建的索引,其中包含名为 ORDER_ID 和 ORDER_DATE 的列。对于以下查询,DB2 优化器将选择直接索引查找,因为 SELECT 语句中使用的列也是索引的一部分。示例SELECT ORDER_ID, ORDER_DATE, INVOICE_ID FROM ORDERS    WHERE ORDER_ID = ‘Z33412’ AND ORDER_DATE = ‘14-08-2020’以上查询的结果如下。ORDER_IDORDER_DATEZ3341214-08-2020在… 阅读更多

描述 MAX 聚合函数和 GROUP-BY 与 HAVING 使用的 SQL 查询是什么?

Mandalika
更新于 2020-11-30 09:37:27

210 次查看

我们可以使用以下查询找到 ORDERS DB2 表中按日期排序的最高 ORDER_TOTAL。示例SELECT ORDER_DATE, MAX(ORDER_TOTAL) FROM ORDERS GROUP BY ORDER_DATE我们将对 ORDER_DATE 使用“GROUP BY”按日期对结果进行分组,并且 MAX 聚合函数将帮助我们获取在特定日期放置的最大 ORDER_TOTAL。例如,如果我们有以下 ORDERS DB2 表。ORDER_IDORDER_TOTALORDER_DATEZ2234534229-07-2020Z6299854330-07-2020Z5699043128-07-2020Z56902674329-07-2020Z9978144328-07-2020Z5611288930-07-2020 那么 SQL 查询 - SELECT ORDER_DATE, MAX(ORDER_TOTAL) FROM ORDERS GROUP BY ORDER_DATE 将返回以下结果。ORDER_DATEORDER_TOTAL28-07-202044329-07-2020674330-07-2020889阅读更多

编写 DB2 SQL 查询以查找 ORDERS DB2 表中的第三高 ORDER_TOTAL

Mandalika
更新于 2020-11-30 09:36:25

538 次查看

我们可以使用以下查询找到 ORDERS DB2 表中的第三高 ORDER_TOTAL。示例SELECT ORDER_ID, MIN(ORDER_TOTAL) FROM ORDERS    ORDER BY ORDER_TOTAL DESC    FETCH FIRST 3 ROWS ONLY“FETCH FIRST 3 ROWS ONLY”子句将在输出中仅提供 3 行,并且这 3 行将按降序排列。第一行将具有整个 ORDERS 表中的最高 ORDER_TOTAL,第二行将具有整个 ORDERS 表中的第二高 ORDER_TOTAL,依此类推。MIN 聚合函数将在这 3 行中给出 ORDER_TOTAL 的最小值,并且这… 阅读更多

描述 SUM 聚合函数和 GROUP-BY 与 HAVING 使用的 SQL 查询

Mandalika
更新于 2020-11-30 09:35:05

300 次查看

问题:编写 DB2 SQL 查询以分别给出 7 月 29 日和 7 月 30 日下达的订单的 ORDER_TOTAL 之和。结果应显示在一个表中。解决方案我们可以使用聚合函数 SUM、GROUP BY 和 HAVING 分别找到 7 月 29 日和 7 月 30 日下达的订单的 ORDER_TOTAL 之和。例如,如果我们有以下 ORDER 表。ORDER_IDORDER_TOTALORDER_DATEZ2234534229-07-2020Z6299854330-07-2020Z5699043112-07-2020Z56902674329-07-2020Z9978144310-07-2020Z5611288930-07-2020 以下是将给出所需结果的查询。示例SELECT ORDER_DATE, SUM(ORDER_TOTAL) FROM ORDERS GROUP BY ORDER_DATE HAVING ORDER_DATE IN (‘29-07-2020’, ‘30-07-2020’)在此查询中,我们选择了 ORDER_DATE 和 ORDER_TOTAL 以及聚合函数 SUM。GROUP BY 将… 阅读更多

DB2 中连接的示例和用法

Mandalika
更新于 2020-11-30 09:34:02

852 次查看

问题:如何使用连接从 ORDERS 和 TRANSACTIONS DB2 表中查找 ORDER_ID、TRANSACTION_ID 和 TRANSACTION_STATUS?解决方案我们可以使用 INNER JOIN 查询从 ORDERS 和 TRANSACTIONS 表中查找 ORDER_ID、TRANSACTION_ID 和 TRANSACTION_STATUS。例如,如果我们有以下 2 个 ORDERS 表。ORDER_IDTRANSACTION_IDORDER_DATEZ22345ITX448923-10-2020Z62998ITX431121-10-2020Z56902ITX312026-10-2020 TRANSACTION_IDTRANS_AMTTRANSACTION_STATUSITX44891128PAIDITX43112318PAIDITX312088956UNPAIDITX21675612FAILED我们可以使用如下所示的内部连接查询。示例SELECT ORDER_ID, TRANSACTION_ID, TRANSACTION_STATUS FROM ORDERS INNER JOIN TRANSACTIONS ON ORDERS.TRANSACTION_ID = TRANSACTIONS.TRANSACTION_ID以上查询将返回以下结果。ORDER_IDTRANSACTION_IDTRANSACTION_STATUSZ22345ITX4489PAIDZ62998ITX4311PAIDZ56902ITX3120UNPAID阅读更多

广告