根据Oracle中的CREATE TABLE语句生成升级脚本到ALTER TABLE

时间:2015-02-23 16:17:19

标签: oracle oracle11g ddl oracle11gr2

在Oracle中是否可以基于架构中的现有表以及具有该表的更新定义的ALTER TABLE语句生成一堆CREATE TABLE语句?

假设我有一个以前版本的应用程序的架构。我有一个最新版本的应用程序的安装脚本。该脚本从头开始创建所有表和序列,执行CREATE TABLE(可能还有CREATE SEQUENCE)语句。

我想在不丢失任何数据的情况下将架构更新到最新版本的应用程序(例如,不执行DROP TABLE)。

是否可以使用标准的Oracle 11gR2或第三方组件?

2 个答案:

答案 0 :(得分:0)

您可以在PLSQL中创建一个程序:

  • 在新数据库中不存在时创建新表
  • 当表存在时更改表,使用ALL_TAB_COLUMNS
  • 进行表达

答案 1 :(得分:0)

您可以尝试CORT:www.softcraftltd.co.uk/cort免费