找到 6705 篇文章 相关数据库

如何为用户提供和取消对 DB2 对象的访问权限?给出 DB2 命令?

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

589 次查看

DB2 具有 DCL 的概念,通过它我们可以控制对 DB2 对象(如表、计划等)的访问。DCL 代表数据控制语言,使用它我们可以为用户提供和取消对 DB2 对象的访问权限。GRANT 命令将授予用户对所述对象的访问权限,而 REVOKE 命令将取消用户的访问权限。例如,如果我们必须为用户 REL123X 提供对 ORDERS 表的 SELECT 和 UPDATE 访问权限,那么我们将执行以下命令。GRANT SELECT, UPDATE ON ORDERS TO REL123X如果我们想要提供 INSERT 访问权限,那么我们将使用以下命令。GRANT ... 阅读更多

即使在 ROLLBACK 后,您将如何保持对资源的锁定?

Mandalika
更新于 2020-11-30 09:23:42

211 次查看

当任何应用程序使用某个资源时,DB2 会对该资源(如表、表空间等)进行锁定。在 COBOL-DB2 程序中,如果我们正在修改或删除表中的数据,则 DB2 会放置锁定。当我们给出 ROLLBACK 语句以恢复数据库中所做的更改时,DB2 持有的所有锁定都会默认释放。如果我们希望即使在回滚后也保持对资源的锁定,那么我们必须使用 ON ROLLBACK RETAIN LOCKS 而不是 ROLLBACK。例如,考虑一个声明了 FOR UPDATE OF 子句的光标 ORDER_CUR。因此,一旦... 阅读更多

COBOL-DB2 程序中 SAVEPOINT 的用途和用法

Mandalika
更新于 2020-11-30 09:22:26

2K+ 次查看

问题:如何在 DB2 中使用 SAVEPOINT?SAVE-POINT 在 DB2 中的目的是什么?通过示例进行说明。解决方案SAVEPOINT 用作标记或标签来保存未提交到数据库的更改。在对数据库进行更改后,我们可以给出命名 SAVEPOINT 语句,然后在任何时间点都可以使用 ROLLBACK 语句将更改回滚到此保存点。实际上,我们可以在我们的 COBOL-DB2 程序中有多个 SAVEPOINT,并且我们可以使用 ROLLBACK 跳回到这些 SAVEPOINT 中的任何一个。这将恢复所做的所有更改... 阅读更多

什么是 DB2 中的存储过程?如何创建新的存储过程?

Mandalika
更新于 2020-11-30 09:19:19

6K+ 次查看

DB2 存储过程是由 DBMS 直接管理的程序。存储过程通常包含 SQL,并且可以由应用程序程序调用。存储过程处理查询并将结果返回给应用程序程序。存储过程可用于经常使用的 SQL,因此,与其一遍又一遍地使用相同的 SQL 查询,不如简单地使用存储过程。存储过程的另一个好处是,与应用程序程序中使用的静态 SQL 相比,它们速度快且性能良好。存储过程可以... 阅读更多

如何查找在特定 DB2 表中构建的所有索引?

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

532 次查看

DB2 索引用于提高查询性能并加快查询结果速度。可以在单个表上构建多个索引,DB2 优化器会根据 WHERE 子句中使用的谓词选择不同的索引以获取查询结果。为了找出在特定表上构建的所有索引,我们将使用 DB2 系统表 SYSIBM.SYSINDEXES。此表记录了与索引相关的所有详细信息。以下 SQL 查询可用于此表以获取所需的结果。示例SELECT NAME, TBNAME FROM SYSIBM.SYSINDEXES    WHERE TBNAME = ‘’该... 阅读更多

如果删除索引,如何找出将受影响的计划?

Mandalika
更新于 2020-11-30 09:17:32

126 次查看

DB2 计划包含所有可执行形式的 SQL 语句。要执行任何 COBOL-DB2 程序,我们需要提供其相应的计划。DB2 优化器将评估计划中存在的 SQL 的访问路径以获取 COBOL-DB2 程序的结果。计划中的 SQL 可能会使用许多索引。索引根据键值促进表搜索并加快查询处理时间。如果删除了任何索引,则可能会对包含使用该已删除索引的 SQL 的计划产生负面影响。因此,作为影响分析的一部分,它... 阅读更多

标量函数和列函数的区别

Mandalika
更新于 2020-11-30 09:16:24

590 次查看

DB2 标量函数获取单个列值并返回单个结果。列函数获取来自 DB2 表多行的列值并返回单个结果。在标量函数的情况下,仅涉及一行。标量函数描述LENGTH提供列值的长度REPLACE用于将字符串替换为另一个字符串CONCAT用于组合两个或多个列值INTEGER提供列值的整数等效项CHAR提供列值的字符等效项例如,如果我们有一个 ORDERS DB2 表,并且我们只想返回所有订单的 ORDER_TOTAL 的整数价值... 阅读更多

什么是 DB2 中的列函数?通过示例进行说明

Mandalika
更新于 2020-11-30 09:15:09

603 次查看

DB2 列函数也称为聚合函数。这些函数获取来自多行特定列的值并返回单个值。以下是某些最常用的列函数的列表。列函数描述SUM查找列值的总和COUNT计算列值的个数AVG查找列值的平均值MAX查找列中的最大值MIN查找列中的最小值列函数只能用于 SELECT 查询。例如,如果我们必须查找 2020 年 8 月 15 日从 ORDERS 表中下达的所有订单的 ORDER_TOTAL 的平均值,那么我们... 阅读更多

DB2 中死锁的错误代码、原因和示例

Mandalika
更新于 2020-11-30 09:14:15

2K+ 次查看

当两个应用程序锁定彼此需要的 数据时,就会发生死锁情况。这两个应用程序都等待另一个应用程序释放锁定,从而发生死锁。让我们看一个例子来更好地理解这一点:有两个 COBOL-DB2 程序正在执行:PROG A 和 PROG B。PROG A 在 ORDERS 表中持有 UPDATE LOCK,而 PROG B 在 TRANSACTION 表中持有 UPDATE LOCK。在某个时间点,PROG A 需要 TRANSACTION TABLE 上的 UPDATE LOCK,而 PROG B 需要 ORDERS 表上的 UPDATE LOCK,但这两个应用程序程序... 阅读更多

通过示例解释共享、更新和排他锁

Mandalika
更新于 2020-11-30 09:13:23

2K+ 次查看

共享、更新和排他锁是在并发应用程序处理中使用的锁类型。这意味着当两个或多个应用程序尝试访问同一行或页面时,会使用这些锁。以下是每种锁类型的描述。共享锁如果任何应用程序在页面上获取共享锁,则它可以读取该页面,但不能更新它。其他并发应用程序可以在同一页面上获取共享锁或更新锁。更新锁如果任何应用程序在页面上获取更新锁,则它可以读取该页面,但不能更新它。在... 阅读更多

广告