概述
DB2的重名失败报错SQL0750N
-
问题:
db2 => ? SQL0750N
SQL0750N 此语句失败,因为无法重命名表或列。
-
说明:由于下列其中一个或多个原因,不能重命名 RENAME 语句中的源表。
- 在一个或多个现有具体化查询表中引用了该表。
- 在一个或多个统计视图中引用了该表。
- 该表涉及一个或多个作为父表或从属表的引用约束。
- 该表是用于分解一个或多个 XSR 对象的目标表。
- 该表是系统时间段时间表。
- 该表是历史记录表。
- 数据库管理器配置参数 auto_reval 设置为 DISABLED,并且发生下列其中一种情况:
- 在一个或多个现有视图中引用了该表。
- 在一个或多个现有触发器中引用了该表。这包括表上的触发器或已触发的 SQL 语句中的引用。
- 在一个或多个现有 SQL 函数或 SQL 方法中引用了该表。
- 该表已定义了检查约束。这包括由生成列导致的检查约束。(☆☆☆)
- 该表为延迟表 SYSTOOLS.REPL_MQT_LATENCY。
- 该表已有注册空间列。
- 该表具有基于表达式的索引。
-
说明:由于下列其中一个或多个原因,无法重命名 ALTER TABLE 语句中的目标表列。
- 目标表为历史记录表
- 该列是使用随机依据生成方法的随机分发表的随机分发键列用户响应:如果此错误与 RENAME 语句有关,那么在发出 RENAME 语句之前,请删除依赖于此表的视图、具体化查询表、触发器、SQL 函数、SQL 方法、检查约束、引用约束、基于表达式的索引或 XSR 对象。可以通过查询目录来确定依赖于此表的对象。
- 对于依赖于此表的视图、基于表达式的索引或具体化查询表,请查询 SYSCAT.VIEWDEP并使表与 BSCHEMA 和 BNAME 列相匹配。
- 对于依赖于此表的触发器,请查询 SYSCAT.TRIGDEP 并使表与 BSCHEMA 和 BNAME 列相匹配。
- 对于 SQL 函数或 SQL 方法,请查询 SYSCAT.ROUTINEDEP,其中的表与 BSCHEMA 和 BNAME 列相匹配。
- 对于表的检查约束,请查询 SYSCAT.CHECKS,其中的表与 TABSCHEMA 和 TABBNAME 列相匹配。
- 对于带有注册空间列的表,请注销空间列。
- 对于依赖于此表的引用约束,请查询 SYSCAT.REFERENCES,其中的表与 TABSCHEMA 和 TABNAME 列或者 REFTABSCHEMA 和 REFTABNAME 列相匹配。
- 对于为了进行将此表作为目标的分解而启用的 XSR 对象,请查询 SYSCAT.XSROBJECTDEP,其中的表与 BSCHEMA 和 BNAME 列匹配。如果此错误与 ALTER TABLE 语句的 RENAME COLUMN 操作有关,那么在目标表是历史记录表的情况下无法直接重命名此列。可以通过执行下列其中一项操作来重命名该列。
- 确定使用历史记录表的系统时间段时间表的名称,发出 RENAME COLUMN 操作并将该名称作为 ALTER TABLE 语句的目标。这将在系统时间段时间表和相关联的历史记录表中都会重命名此列。
- 确定系统时间段时间表的名称,发出 DROP VERSIONING 操作并将该名称作为 ALTER TABLE 语句的目标。这会将历史记录表和系统时间段时间表更改为常规表。现在,您可以在原始 ALTER TABLE 语句中重命名该表的此列。请注意,如果已重命名此列,那么此表不再能够是已删除其版本控制的表的历史记录表。如果某列是使用随机依据生成方法的随机分发表的随机分发键列,那么不需要执行任何操作。此列是系统生成的列,无法重命名。
-
DB2名词:
- 具体化查询表
- 统计视图
- XSR 对象
- 系统时间段时间表
- 历史记录表
- auto_reval作用
- 延迟表
- 注册空间列
------------------------------------------------------------------
version:V1.0
date:2019/12/27
rede update
------------------------------------------------------------------
最后
以上就是粗犷指甲油为你收集整理的DB2的重名失败报错SQL0750N的全部内容,希望文章能够帮你解决DB2的重名失败报错SQL0750N所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复