gpt4 book ai didi

db2 - 如何在 DB2 IBM iseries 中编辑 View 而不是删除然后重新创建它?

转载 作者:行者123 更新时间:2023-12-04 22:11:57 25 4
gpt4 key购买 nike

如何通过 System i Navigator 更改或编辑 DB2 中的 View ?我不知道怎么做,因为它会删除建立在它上面的其他 View 。

最佳答案

无法使用 iSeries Navigator 更改 View 。但是,如果您愿意使用 SQL 语句并且您使用的是 v7.1 或更高版本,则可以使用新的“CREATE OR REPLACE VIEW”命令:SQL CREATE OR REPLACE syntax .

这将允许您更改现有 View ,而无需先删除相关对象。例如,考虑一个名为“VIEW2”的 View ,它使用来自“VIEW1”的名为“DESC”的列。您可以使用以下命令向“VIEW1”添加一列而不影响“VIEW2”:

CREATE OR REPLACE VIEW MYSCHEMA.VIEW1 AS
SELECT DESC, NEWCOL FROM MYSCHEMA.MYTABLE;

同样,您可以从“VIEW1”中删除一列而不影响其他 View 。唯一的限制是您不能删除另一个 View (或函数、别名等)使用的列。如果您尝试删除另一个 View 所依赖的列,您将收到一条错误消息。

使用“REPLACE”方法还将保留所有权限/安全约束。

应该注意的是,更理想的方法是通过脚本自动创建 View /函数/过程/别名/等。这将允许您以一致的方式删除和重新创建依赖对象。这假定了围绕您的数据库管理的某种自动化方式,并且如果您有大量依赖对象(如果您有大量索引 View )可能会出现问题。拥有大量“REPLACE”的最大风险脚本是因为它们将被错误地应用,要么不应用其中一个脚本,要么以错误的顺序应用它们。

关于db2 - 如何在 DB2 IBM iseries 中编辑 View 而不是删除然后重新创建它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6387720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com