在DB2中,如果删除了其中一个源表,则会删除具体化的查询表吗?

时间:2013-08-05 01:56:01

标签: db2

例如,我有一个表GAME和PRICE,然后我有一个名为FPS_PRICE的MQT,使用以下语句创建:

SELECT A.GAMENAME, B.GAMEPRICE
  FROM GAME A, PRICE B 
  WHERE A.GAMEID=B.GAMEID 
    AND A.GAMETYPE='FPS';

如果表格GAME或PRICE被删除...... MQT FPS_PRICE也会被删除吗?

(我会为自己测试一下, 但我没有相关数据库的管理员访问权限)

谢谢!

2 个答案:

答案 0 :(得分:2)

直接来自Info Center

  

所有索引,主键,外键,检查约束,   具体化查询表,以及引用表引用表   被删除。引用该表的所有视图和触发器都已生成   不起作用。 (这包括ON子句中引用的表   CREATE TRIGGER语句,以及。中引用的所有表   触发了SQL语句。)所有包依赖于任何对象   掉落或标记不起作用将失效。这包括   包依赖于在子表中的任何超级表   层次结构。删除表所属的任何引用列   定义为参考范围变为无范围。

答案 1 :(得分:0)

防止它被删除的方法是使用简单的CREATE TABLE,而不是使其成为物化表。