关于DB2 MQT 增量更新,出错代码详细说明
?
具體化查詢表定義中包含與全查詢的內(nèi)容相關(guān)的特定規(guī)則
對(duì)具體化查詢表 "<表名>" 指定的全查詢無(wú)效。原因碼 = "<原因碼>"。
說(shuō)明:
具體化查詢表定義中包含與全查詢的內(nèi)容相關(guān)的特定規(guī)則。某些規(guī)則基于具體化查詢表選項(xiàng)(REFRESH DEFERRED 或 REFRESH IMMEDIATE),而另一些規(guī)則基于該表是否是復(fù)制的。返回此狀態(tài)的 CREATE TABLE 語(yǔ)句中的全查詢至少違反了 SQL Reference 中描述的其中一條規(guī)則。
創(chuàng)建登臺(tái)表時(shí)可能會(huì)發(fā)生此錯(cuò)誤。在這種情況下,該錯(cuò)誤適用于在與登臺(tái)表相關(guān)聯(lián)的具體化查詢表的定義中使用的查詢。
因?yàn)樵撜Z(yǔ)句違反下列原因碼所指示的限制,所以不能對(duì)其進(jìn)行處理:
1
每個(gè)選擇列表元素必須有名稱。
2
全查詢不能引用下列任何對(duì)象類型:
具體化查詢表
登臺(tái)表
聲明的全局臨時(shí)表
類型表
系統(tǒng)目錄表
違反任何具體化查詢表限制的視圖
受保護(hù)的表
使用 CREATE NICKNAME 或 ALTER NICKNAME 語(yǔ)句中的 DISALLOW CACHING 子句創(chuàng)建的昵稱直接或間接依賴于受保護(hù)表的視圖
3
全查詢不能包含下列數(shù)據(jù)類型的任何列引用或表達(dá)式:
LOB、LONG、DATALINK、XML、引用、用戶定義的結(jié)構(gòu)化類型或基于這些數(shù)據(jù)類型的任何單值類型
4
全查詢不能包含符合以下條件的任何列引用、表達(dá)式或函數(shù):
取決于數(shù)據(jù)的物理特征,例如 DBPARTITIONNUM、HASHEDVALUE、RID_BIT 和 RID
取決于對(duì)數(shù)據(jù)所作的更改,例如行更改表達(dá)式或 ROW CHANGE
TIMESTAMP 列
被定義為 EXTERNAL ACTION
被定義為 LANGUAGE SQL、CONTAINS SQL、READS SQL DATA 或
MODIFIES SQL DATA
5
當(dāng)指定 REPLICATED 時(shí),下列限制適用:
不允許聚集函數(shù)和 GROUP BY 子句
具體化查詢表只能引用單個(gè)表;即,它不能包括連接、并集或子查詢
不能指定 PARTITIONING KEY 子句
6
指定 REFRESH IMMEDIATE 時(shí),全查詢不能包含:
對(duì)昵稱的引用
SELECT DISTINCT
對(duì)專用寄存器的引用
對(duì)全局變量的引用
不具確定性的函數(shù)
OLAP 函數(shù)、抽樣函數(shù)和文本函數(shù)
使用聚集函數(shù)的結(jié)果的任何表達(dá)式
沒(méi)有還包含 GROUP BY 子句的全查詢的聚集函數(shù)
遞歸公共表表達(dá)式
子查詢
7
當(dāng)指定 REFRESH IMMEDIATE 時(shí):
具體化查詢表不能包含重復(fù)行
當(dāng)指定 GROUP BY 子句時(shí),所有 GROUP BY 薦必須包括在選擇列表中
當(dāng)指定包含 GROUPING SETS、CUBE 或 ROLLUP 的 GROUP BY 子句時(shí),不能重復(fù)任何分組集合,并且如果 C 是出現(xiàn)在 GROUPING SETS、
CUBE 或 ROLLUP 中的可空 GROUP BY 項(xiàng),那么 GROUPING(C) 必須出現(xiàn)在選擇列表中
如果沒(méi)有 GROUP BY 子句,那么每個(gè)基礎(chǔ)表必須至少定義一個(gè)唯一鍵,而且這些鍵的所有列必須出現(xiàn)在具體化查詢表定義的選擇列表中
8
如果指定 REFRESH IMMEDIATE,那么在全查詢包含 GROUP BY 子句時(shí)下列限制適用:
選擇列表必須包含 COUNT(*) 或 COUNT_BIG(*)
對(duì)于每個(gè)可空列 C,如果選擇列表包含 SUM(C),那么還需要 COUNT(C)
必須出現(xiàn)至少下列其中一個(gè)聚集函數(shù)(并且沒(méi)有其他聚集函數(shù)):
SUM()、COUNT()、COUNT_BIG() 或 GROUPING()
不能指定 HAVING 子句
在分區(qū)數(shù)據(jù)庫(kù)環(huán)境中,GROUP BY 列必須包含具體化查詢表的分區(qū)鍵
不允許聚集函數(shù)的嵌套
9
如果指定 REFRESH IMMEDIATE,那么全查詢必須是子查詢,但存在一個(gè)例外,就是 UNION ALL 在 GROUP BY 的輸入表表達(dá)式中受支持。
10
如果指定了 REFRESH IMMEDIATE 并且 FROM 子句引用了多個(gè)表,那么只支持內(nèi)連接(不使用顯式 INNER JOIN 語(yǔ)法)。
11
如果指定 REFRESH IMMEDIATE,那么 UNION ALL 或 JOIN 的輸入表表達(dá)式不能包含聚集函數(shù)。
12
此具體化查詢表的增量備份維護(hù)需要系統(tǒng)臨時(shí)表,該表的行寬或列數(shù)超出數(shù)據(jù)庫(kù)上當(dāng)前可用的最大系統(tǒng)臨時(shí)表空間可以容納的限制。
?
?
用戶響應(yīng):
更改 CREATE TABLE 語(yǔ)句中的全查詢,以使其符合基于具體化查詢表選項(xiàng)和該具體化查詢表是否是復(fù)制的規(guī)則。
與原因碼對(duì)應(yīng)的操作是:
1
更正 CREATE TABLE 語(yǔ)句以確保所有元素都有名稱(可使用 AS 子句來(lái)命名表達(dá)式或?qū)唧w化查詢表定義的列列表中的所有列顯式命名)。
2
更正 CREATE TABLE 語(yǔ)句以確保只引用受支持的對(duì)象。
3
更正 CREATE TABLE 語(yǔ)句以確保只引用受支持的列或表達(dá)式類型。
4
更正 CREATE TABLE 語(yǔ)句以確保只引用受支持的列、表達(dá)式或函數(shù)。
5
創(chuàng)建未復(fù)制的具體化查詢表,或更正 CREATE TABLE 語(yǔ)句以確保該查詢引用單個(gè)表而且不包含子查詢、聚集或 PARTITIONING 子句。
6
將具體化查詢表創(chuàng)建為 REFRESH DEFERRED,或者
除去昵稱引用
除去 DISTINCT
除去專用寄存器
除去非確定性函數(shù)或?qū)⑵涮鎿Q為確定性函數(shù)
除去所有 OLAP、抽樣函數(shù)和文本函數(shù)
從表達(dá)式中除去聚集函數(shù)或?qū)⒈磉_(dá)式更改為對(duì)聚集函數(shù)的簡(jiǎn)單引用
除去聚集函數(shù)或添加 GROUP BY 子句
更正 CREATE TABLE 語(yǔ)句以確保未引用遞歸公共表表達(dá)式
除去子查詢
7
將具體化查詢表創(chuàng)建為 REFRESH DEFERRED,或者
更正 CREATE TABLE 語(yǔ)句以確保所有 GROUP BY 項(xiàng)在選擇列表中
更正 GROUP BY 子句以確保沒(méi)有重復(fù)分組集合
在選擇列表中除去可空列 C 或添加 GROUPING(C)
更正 CREATE TABLE 語(yǔ)句以確保查詢中引用的每個(gè)表中的至少一個(gè)
唯一鍵出現(xiàn)在選擇列表中
8
將具體化查詢表創(chuàng)建為 REFRESH DEFERRED,或者
將 COUNT(*) 或 COUNT_BIG(*) 添加至選擇列表或除去 GROUP BY 子句
將 COUNT(*) 添加至選擇列表或除去 SUM(C) 或?qū)⒘?C 改變?yōu)椴豢煽?br />除去不受支持的聚集函數(shù)或?qū)⑺鼈兲鎿Q為受支持的函數(shù)
除去 HAVING 子句
更正 CREATE TABLE 語(yǔ)句以確保 GROUP BY 子句包含所有分區(qū)鍵列
9
將具體化查詢表創(chuàng)建為 REFRESH DEFERRED,或者將表定義更改為子查詢或 GROUP BY 的輸入表表達(dá)式中的 UNION ALL。
10
將具體化查詢表創(chuàng)建為 REFRESH DEFERRED,或者使用內(nèi)連接(不使用顯式 INNER JOIN 語(yǔ)法)。
11
將具體化查詢表創(chuàng)建為 REFRESH DEFERRED,或從 UNION ALL 或 JOIN 的輸入表中除去聚集函數(shù)。
12
將具體化查詢表創(chuàng)建為 REFRESH DEFERRED 或降低總行寬或列數(shù),或者創(chuàng)建具有適當(dāng)頁(yè)大小的系統(tǒng)臨時(shí)表空間。
?
轉(zhuǎn)載于:https://www.cnblogs.com/SharkXu/archive/2011/11/09/DB2MQTErrorCode.html
總結(jié)
以上是生活随笔為你收集整理的关于DB2 MQT 增量更新,出错代码详细说明的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: zookeeper-01
- 下一篇: Unity3D笔记 愤怒的小鸟六 弹弓发