我正在将MaxDB数据库迁移到DB2。我需要重新创建所有视图,但是它们的定义包含对其他视图的引用,并且具有相同的创建日期和时间,因此我无法按正确的顺序创建它们。
DB2是否支持某种self.request.files
语句?
如何以正确的顺序重新创建视图(不创建SQL解析器 - 因为我只有来自MAXDB的数据字典中的视图的字符串定义)?
MaxDB的SELECT:
{u'file': [{'body':FILEBODY, 'content_type':CONTENT_TYPE, 'filename': FILENAME}],...}
答案 0 :(得分:3)
您没有说明您正在使用的DB2平台。 DB2 for LUW具有database configuration parameter auto_reval
,当设置为deferred
(默认值)或deferred_force
时,允许您以任何顺序创建依赖对象。使用deferred_force
实际上,由于缺少依赖关系而无法在创建时验证对象(包括视图),并且会出现错误"首次在SQL语句中使用时重新验证。
您也可以在创建system stored procedure SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS()
之后显式重新验证所有无效对象。