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

Generate upgrade script to ALTER TABLE based on CREATE TABLE statement in Oracle

在 Oracle 中是否可以根据模式中现有的 table 加上具有更新的 table 定义的 CREATE TABLE 语句生成一堆 ALTER TABLE 语句?

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

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

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

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

  • 创建新的table,当它不存在于新的数据库
  • 改变 table 当它存在时,用 ALL_TAB_COLUMNS
  • 喂养它

你可以尝试 CORT : www.cort.tech
https://github.com/cort-master/cort

免费