具体化查询表定义中包含与全查询的内容相关的特定规则

对具体化查询表 "<表名>" 指定的全查询无效。原因码 = "<原因码>"。

说明:
具体化查询表定义中包含与全查询的内容相关的特定规则。某些规则基于具体化查询表选项(REFRESH DEFERRED 或 REFRESH IMMEDIATE),而另一些规则基于该表是否是复制的。返回此状态的 CREATE TABLE 语句中的全查询至少违反了 SQL Reference 中描述的其中一条规则。
创建登台表时可能会发生此错误。在这种情况下,该错误适用于在与登台表相关联的具体化查询表的定义中使用的查询。
因为该语句违反下列原因码所指示的限制,所以不能对其进行处理:

1
每个选择列表元素必须有名称。

2
全查询不能引用下列任何对象类型:
具体化查询表
登台表
声明的全局临时表
类型表
系统目录表
违反任何具体化查询表限制的视图
受保护的表
使用 CREATE NICKNAME 或 ALTER NICKNAME 语句中的 DISALLOW CACHING 子句创建的昵称直接或间接依赖于受保护表的视图

3
全查询不能包含下列数据类型的任何列引用或表达式:
LOB、LONG、DATALINK、XML、引用、用户定义的结构化类型或基于这些数据类型的任何单值类型

4
全查询不能包含符合以下条件的任何列引用、表达式或函数:
取决于数据的物理特征,例如 DBPARTITIONNUM、HASHEDVALUE、RID_BIT 和 RID
取决于对数据所作的更改,例如行更改表达式或 ROW CHANGE
TIMESTAMP 列
被定义为 EXTERNAL ACTION
被定义为 LANGUAGE SQL、CONTAINS SQL、READS SQL DATA 或
MODIFIES SQL DATA

5
当指定 REPLICATED 时,下列限制适用:
不允许聚集函数和 GROUP BY 子句
具体化查询表只能引用单个表;即,它不能包括连接、并集或子查询
不能指定 PARTITIONING KEY 子句

6
指定 REFRESH IMMEDIATE 时,全查询不能包含:
对昵称的引用
SELECT DISTINCT
对专用寄存器的引用
对全局变量的引用
不具确定性的函数
OLAP 函数、抽样函数和文本函数
使用聚集函数的结果的任何表达式
没有还包含 GROUP BY 子句的全查询的聚集函数
递归公共表表达式
子查询

7
当指定 REFRESH IMMEDIATE 时:
具体化查询表不能包含重复行
当指定 GROUP BY 子句时,所有 GROUP BY 荐必须包括在选择列表中
当指定包含 GROUPING SETS、CUBE 或 ROLLUP 的 GROUP BY 子句时,不能重复任何分组集合,并且如果 C 是出现在 GROUPING SETS、
CUBE 或 ROLLUP 中的可空 GROUP BY 项,那么 GROUPING(C) 必须出现在选择列表中
如果没有 GROUP BY 子句,那么每个基础表必须至少定义一个唯一键,而且这些键的所有列必须出现在具体化查询表定义的选择列表中

8
如果指定 REFRESH IMMEDIATE,那么在全查询包含 GROUP BY 子句时下列限制适用:
选择列表必须包含 COUNT(*) 或 COUNT_BIG(*)
对于每个可空列 C,如果选择列表包含 SUM(C),那么还需要 COUNT(C)
必须出现至少下列其中一个聚集函数(并且没有其他聚集函数):
SUM()、COUNT()、COUNT_BIG() 或 GROUPING()
不能指定 HAVING 子句
在分区数据库环境中,GROUP BY 列必须包含具体化查询表的分区键
不允许聚集函数的嵌套

9
如果指定 REFRESH IMMEDIATE,那么全查询必须是子查询,但存在一个例外,就是 UNION ALL 在 GROUP BY 的输入表表达式中受支持。

10
如果指定了 REFRESH IMMEDIATE 并且 FROM 子句引用了多个表,那么只支持内连接(不使用显式 INNER JOIN 语法)。

11
如果指定 REFRESH IMMEDIATE,那么 UNION ALL 或 JOIN 的输入表表达式不能包含聚集函数。

12
此具体化查询表的增量备份维护需要系统临时表,该表的行宽或列数超出数据库上当前可用的最大系统临时表空间可以容纳的限制。

用户响应:
更改 CREATE TABLE 语句中的全查询,以使其符合基于具体化查询表选项和该具体化查询表是否是复制的规则。

与原因码对应的操作是:

1
更正 CREATE TABLE 语句以确保所有元素都有名称(可使用 AS 子句来命名表达式或对具体化查询表定义的列列表中的所有列显式命名)。

2
更正 CREATE TABLE 语句以确保只引用受支持的对象。

3
更正 CREATE TABLE 语句以确保只引用受支持的列或表达式类型。

4
更正 CREATE TABLE 语句以确保只引用受支持的列、表达式或函数。

5
创建未复制的具体化查询表,或更正 CREATE TABLE 语句以确保该查询引用单个表而且不包含子查询、聚集或 PARTITIONING 子句。

6
将具体化查询表创建为 REFRESH DEFERRED,或者
除去昵称引用
除去 DISTINCT
除去专用寄存器
除去非确定性函数或将其替换为确定性函数
除去所有 OLAP、抽样函数和文本函数
从表达式中除去聚集函数或将表达式更改为对聚集函数的简单引用
除去聚集函数或添加 GROUP BY 子句
更正 CREATE TABLE 语句以确保未引用递归公共表表达式
除去子查询

7
将具体化查询表创建为 REFRESH DEFERRED,或者
更正 CREATE TABLE 语句以确保所有 GROUP BY 项在选择列表中
更正 GROUP BY 子句以确保没有重复分组集合
在选择列表中除去可空列 C 或添加 GROUPING(C)
更正 CREATE TABLE 语句以确保查询中引用的每个表中的至少一个
唯一键出现在选择列表中

8
将具体化查询表创建为 REFRESH DEFERRED,或者
将 COUNT(*) 或 COUNT_BIG(*) 添加至选择列表或除去 GROUP BY 子句
将 COUNT(*) 添加至选择列表或除去 SUM(C) 或将列 C 改变为不可空
除去不受支持的聚集函数或将它们替换为受支持的函数
除去 HAVING 子句
更正 CREATE TABLE 语句以确保 GROUP BY 子句包含所有分区键列

9
将具体化查询表创建为 REFRESH DEFERRED,或者将表定义更改为子查询或 GROUP BY 的输入表表达式中的 UNION ALL。

10
将具体化查询表创建为 REFRESH DEFERRED,或者使用内连接(不使用显式 INNER JOIN 语法)。

11
将具体化查询表创建为 REFRESH DEFERRED,或从 UNION ALL 或 JOIN 的输入表中除去聚集函数。

12
将具体化查询表创建为 REFRESH DEFERRED 或降低总行宽或列数,或者创建具有适当页大小的系统临时表空间。

转载于:https://www.cnblogs.com/SharkXu/archive/2011/11/09/DB2MQTErrorCode.html

关于DB2 MQT 增量更新,出错代码详细说明相关推荐

  1. python 魔兽世界升级脚本_第一次用python:python脚本用来实现增量更新项目代码...

    项目采用增量更新,每次更新需要将提交到svn的代码手动一一拖到本地文件夹再拖到服务器上,非常麻烦.正好学习python,就弄了个批量复制脚本,顺便熟悉下Python语法.第一次写,很多方法不熟,写的比 ...

  2. 头条项目推荐的相关技术(四):离线文章画像的增量更新及离线文章相似度计算

    1. 写在前面 这里是有关于一个头条推荐项目的学习笔记,主要是整理工业上的推荐系统用到的一些常用技术, 这是第四篇, 上一篇文章整理了离线文章画像的计算过程,主要包括TFIDF和TextRank两种技 ...

  3. Android 如何实现增量更新

    什么是增量更新? 现在的APP安装包体积越来越大,几百兆甚至上G的,当APP更新时不再是消耗大量的流量下载一个完整安装包,而是消耗相对很少的流量下载一个增量包(差分包),采用谷歌Smart App U ...

  4. ios lua 增量更新,更新内部代码

    基于Cocos2d-x+Lua的技术架构的游戏的更新,只更新脚本即可.Lua中可以实现对于C++类的继承,更新逻辑还是比较容易的. App有两个路子:一个是基于PhoneGap或者React Nati ...

  5. android增量更新详细解读

    1 增量更新的意义 a 神马是增量更新? 这个概念很早就被提出,但是目前的形式,小厂用的很少,大厂用的比较多:企鹅的QQ和微信里面都有增量更新着玩意:到底神马是增量更新? 首先增量更新主要用于新版本a ...

  6. diff git 指定时间_【GIT】从指定分支两个Tag中获取差异文件,进行代码的增量更新...

    介绍 随着DevOps兴起,在做CD代码上线交付时候,代码全量更新是很费时间的.下面代码就可以帮助我们从指定分支两个Tag中获取差异文件,进行代码的增量更新. 环境 Jenkins Git代码管理 获 ...

  7. RFID读卡器增量更新思路与代码实现

    RFID读卡器增量更新思路与代码实现 0.项目背景 上一篇文章中提到机器人项目中调用摄像头获取实时画面,这次又来了一个新的需求,要使用RFID读卡器识别区域内的商品ID并上传云端,最后由云端返回该商品 ...

  8. Android之增量更新详解

    前言:自从 Android 4.1 开始, Google Play 引入了应用程序的增量更新功能,App使用该升级方式,可节省约2/3的流量.现在国内主流的应用市场也都支持应用的增量更新了,最常见的应 ...

  9. 漫谈Android 增量更新

    在前几年,整体移动网络环境相比现在差很多,加之流量费用又相对较高,因此每当我们发布新版本的时候,一些用户升级并不是很积极,这就造成了新版本的升级率并不高.而google为了解决了这个问题,提出了Sma ...

最新文章

  1. windows 本地安全设置 灰色_安全检查与加固
  2. 查看终端进程是否死掉技巧
  3. C 语言编程 — GDB 调试工具
  4. vue each_Vue.js从零开始——模块化项目(2)
  5. C++学习——类的初始化
  6. matlab 轴gui,MatlabüGUI学习笔记(4)——公共对象属性的轴,MatlabGUI,四,常用,之,Axes...
  7. OpenGL(5)——变换
  8. vim中编辑了代码 但是提示can not write的解决办法和代码对齐办法
  9. FindBugs插件的安装与使用
  10. matlab之find函数
  11. linux系统chmod 755权限
  12. 新买的电脑 Windows10/Windows11即将过期怎么办
  13. C++继承问题(白兰花例)
  14. 车间生产管理系统(工厂数字化管理系统软件)
  15. 抖音中误删视频的详细解决流程
  16. linux 命令 curl 详解
  17. 3套精品像素字体打包下载
  18. 李宁Matplotlib视频课程作业
  19. PowerPivot——DAX(函数)
  20. teamviwer安装提示 Verification of your Teamviewer version failed

热门文章

  1. 2台xenserver组成的资源池开启HA存在的问题
  2. android多线程下载图片
  3. CSS3中背景的四个新的属性
  4. 【boundfield】GridView中BoundField与TemplateField的区别_boundfield
  5. Eratosthenes筛选求质数
  6. linux下mkdir
  7. python二十一:文件操作
  8. 统一认证服务CAS 5安装
  9. 数字采购:企业互联网新引擎
  10. 物联网与应用数字战略