【问题标题】:db2: Alter Table fails when a related view existsdb2:当相关视图存在时,Alter Table 失败
【发布时间】:2014-10-03 19:24:59
【问题描述】:

运行线路出错:

alter table m_produc ALTER COLUMN DES_PROD SET DATA TYPE CHARACTER(80);

SQL0727N 在隐式系统操作类型期间发生错误 “3”

我的猜测是防止修改的相关视图的存在...

类似

Quickly dropping and re-creating multiple indexes, views, statistics when altering a column

唯一的区别:它是 MSSQL

有没有什么方法可以停用隐式行为,运行该行并再次激活它,也许?

【问题讨论】:

    标签: db2 alter-table


    【解决方案1】:

    DB2 Information Center 有一些您可以采取的步骤来解决您的问题(它还列出了“操作类型”的含义……在您的情况下,3 表示“对象的隐式重新验证”):

    用户反应

    检查与 SQL 语句的SQLCODE 关联的消息 那失败了。按照该消息建议的操作。

    对于无效的包,REBIND 命令可用于重新创建 错误或一旦出现错误原因就显式验证包 错误已解决。

    对于在数据库对象正在运行时发生的故障 重新验证:

    通过在 管理通知日志。

    为避免以后出现此错误,您可以执行以下操作之一:

    • 如果不再需要导致此错误的数据库对象,请删除该数据库对象。

    • 如果可以更改导致此数据库对象重新验证的语句或命令,请更改语句或命令,以便下次执行该语句或运行该命令时不会重新验证数据库对象。

    现在通过执行以下操作之一重新验证数据库对象:

    • 执行直接引用数据库对象的 SQL 语句。
    • 为数据库对象调用 ADMIN_REVALIDATE_DB_OBJECTS 过程。

    联合系统用户:如果失败的语句是动态的 在传递会话中准备,打开另一个传递会话, 再次编写和准备语句,并在 会话仍处于打开状态。

    【讨论】:

    • db2diag.log 可能会显示重新验证失败的确切对象。
    猜你喜欢
    • 2013-01-26
    • 1970-01-01
    • 1970-01-01
    • 2011-10-10
    • 2013-03-19
    • 2015-11-04
    • 2021-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多