【问题标题】:DB2 equivalent for CREATE FORCE VIEWCREATE FORCE VIEW 的 DB2 等效项
【发布时间】:2017-03-03 08:18:12
【问题描述】:

我正在将 MaxDB 数据库迁移到 DB2。我需要重新创建所有视图,但它们的定义包含对其他视图的引用并且具有相同的创建日期和时间,因此我无法以正确的顺序创建它们。

DB2 是否以某种方式支持CREATE FORCE VIEW 语句?

如何以正确的顺序重新创建视图(无需创建 SQL 解析器 - 因为我只有来自 MAXDB 的数据字典中视图的字符串定义)?

为 MaxDB 选择:

select vd.*, t.createdate, t.createtime from viewdefs vd 
join tables t on vd.viewname = t.tablename and vd.owner = t.owner
order by t.createdate, t.createtime

MaxDB Data Dictionary

【问题讨论】:

    标签: db2 ddl sql-view


    【解决方案1】:

    您没有指明您使用的是什么 DB2 平台。 DB2 for LUW 具有database configuration parameter auto_reval,当设置为deferred(默认)或deferred_force 时,允许您以任何顺序创建依赖对象。在deferred_force 生效的情况下,由于缺少依赖关系而无法在创建时验证的对象(包括视图)将“出错”创建,并在它们首次在 SQL 语句中使用时重新验证。

    您还可以在创建所有无效对象后通过调用system stored procedure SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS() 显式重新验证它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-09
      • 2011-04-22
      • 1970-01-01
      • 2010-10-22
      • 2013-05-24
      • 1970-01-01
      • 2016-04-23
      • 1970-01-01
      相关资源
      最近更新 更多