按依赖顺序部署 DB2 用户定义函数

Deploying DB2 user define functions in sequence of dependency

我们在 DB2 中有大约 200 个用户定义函数。这些 UDF 由 datastudio 生成到单个脚本文件中。

当我们创建一个新的数据库时,我们需要多次运行脚本文件,因为一些UDF依赖于其他UDF并且在先创建先例函数之前无法创建。

有没有办法生成脚本文件,以便它们的部署顺序考虑到这种依赖性。还是有其他一些技巧可以有效地安排订单?

非常感谢。

该问题只有在 auto_reval is not correct. See "Creating and maintaining database objects 的设置下才会发生。

Db2 允许以“未排序”的顺序创建对象。只有在使用(访问)对象时,才会检查对象及其依赖对象。该行为是很久以前引入的。只有一些旧的、已迁移的数据库保留 auto_reval=disabled。有些环境可能会根据一些配置脚本来设置它。

如果您仍然 运行 遇到问题,请尝试设置 auto_reval=DEFERRED_FORCE.

db2look 系统命令可以使用 -ct 选项按对象创建时间生成 DDL,如果您不想使用 auto_reval 方法,这会有所帮助。