【问题标题】:DROP VIEW without drop dependent viewsDROP VIEW 没有删除依赖视图
【发布时间】:2021-11-20 07:48:32
【问题描述】:

我需要更改一个 VIEW,所以我必须 DROP 并创建它。

DB2 手册说“任何依赖于被删除视图的视图都将失效。”

我尝试但依赖视图被丢弃,而不是无效。

有没有办法绕过依赖视图丢弃?

【问题讨论】:

  • 也许您可以改为使用 ALTER VIEW?
  • 我不能使用 ALTER,因为我需要更改 Join 和 Where 条件
  • 我明白了。这就是为什么拥有可以在需要时重新创建整个环境或部分环境的脚本是个好主意。
  • 好的,唯一的办法就是使用脚本...非常感谢
  • 什么平台和版本的 Db2?你有一个db2-400 标签,该平台提供CREATE OR REPLACE VIEW,它应该会自动重新创建依赖视图。

标签: sql view ibm-midrange db2-400 drop


【解决方案1】:

sysibm.views 提供对view_definition 的访问权限

SELECT char(table_SCHEMA,10) libname,       
       char(table_NAME,30) view_name,       
       length(a.view_definition) lgth ,     
       cast(substr(a.view_definition,1,500) 
             as varchar(5000)) view_defn    
FROM   sysibm.views a                       

您应该能够首先检索依赖视图的定义。然后删除并重新创建视图。最后,从保存的 view_definition 创建依赖视图。

【讨论】:

  • 一个好的起点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-21
  • 2018-10-31
  • 2014-07-29
  • 2017-02-22
  • 1970-01-01
相关资源
最近更新 更多