【发布时间】:2022-01-08 17:08:38
【问题描述】:
我使用 dbms_metadata.get_ddl(...) 来获取对象 ddl,但它不会为列生成 ddl。 有没有办法获得列 ddl oracle 12 版本?
谢谢
【问题讨论】:
-
“列 DDL”对您意味着什么?列的 DDL 以何种方式不是对象的 DDL 的一部分?一个准确显示您正在看到的内容以及您希望看到的内容的示例将非常有帮助。
-
我有表名和列名,我想得到像'alter table t add c number default 1 not null'这样的ddl
-
您应该编辑问题以更好地表达您的问题,而不是发表评论。
-
正如@BarbarosÖzhan 解释的那样,您应该编辑您的问题以完成您所询问的信息,如果有很多 cmets,评论可能会丢失。无论如何,你不会用 get_ddl 函数得到一个 ALTER TABLE,那个 DDL 是修改一个对象,get_ddl 给你现有对象的 DDL。
-
为什么你想要一个
alter table来添加列,而不仅仅是 DDL 来创建包括列在内的整个表?我能想到你想要的唯一原因是如果你试图生成 DDL 以收敛两个不同的对象。如果是这样,你会想要使用dbms_metadata和dbms_metadata_diff包 (docs.oracle.com/database/121/SUTIL/…)。
标签: oracle plsql oracle12c ddl