2011-07-26 26 views
1

如何修改影响其他视图的表/视图而不使这些从属视图“标记为不可用”?如何避免使视图“标记为不可用”?

我们正在运行DB2 9.5 LUW。我读过Leon兄弟Petrazickis'的博客文章Find a list of views marked inoperative他说,

也有办法避免它使用的交易中,创建或REPLACE语句等措施。

由于我们无法利用9.7中的新功能,我需要有人详细说明Leons提到的其他方式。在IBM Data Studio中运行的示例将非常棒。

回答

3

DB2 9.7中新增了“CREATE OR REPLACE”功能。在此之前,避免标记视图失效的唯一方法是在对视图下方的对象进行更改之前删除视图,然后重新创建视图。

或者,避免对视图的依赖对象进行更改。 :-)

+0

任何想法当Leons建议使用交易时可能会提及什么? – brandong

+1

他指的是防止用户看到SQL0575N错误的方法。这并不妨碍DB2将对象标记为无效。当在单个事务中进行DDL更改时,其他查询将直接阻塞系统目录中的锁,直到DDL事务提交。 –