在做仓库2期的时候,由于1期2期的建库脚本都在一个PDM模型上,在生成建表语句的时候,一个个划勾(Database/Generate Database/Selection )导出所选表的建库脚本比较麻烦。所以,考虑用以下方案来做,可能会给我们带来一些帮助。
1、 环境说明
新建的两个用户:
(1) ALLT 所有表的PDM表结构存储用户
(2)NEWT 需要新生成表的表结构存储用户,另:存储过程SP_DW_CREATE_NEW_TABLE、列表清单EDW_NEW_TABLE_LIST也在该用户下。
2、 模型的全部表的表结构生成
(1) 导出PDM中所有表的建库脚本(根据需要,设置Options;PDM表的General/Generate复选框要打勾,否则生成不了建库脚本)
(2) 将脚本打到ALLT用户下
3、 准备要新生成表的列表清单
4、 运行存储过程SP_DW_CREATE_NEW_TABLE
直接运行,参数P_SRC_USERNAME为源用户名
SP_DW_CREATE_NEW_TABLE的代码如下:
5、 导出NEWT下的所有表的表结构脚本
PL/SQL下//Tools/Export User Objects …
导出除列表清单表外的所有表。
6、 说明
此方案适用于如仓库系统2期项目的需要;主要用到一个存储过程来转换;中间用到如UE、PL/SQL等。