【发布时间】:2019-05-26 15:07:48
【问题描述】:
我们有一组 45 个表,它们带有一个公共列 {variety}。
需要为所有此类列设置默认值 {comedy}。
ALTER TABLE (SCHEMA.TABLE_NAME) MODIFY(VARIETY DEFAULT 'COMEDY')
会完成它,但我想知道是否有一种方法可以在 Oracle 11g 中创建一个 sql 脚本,它将架构中具有通用列名的所有表更改为通用默认值。
【问题讨论】:
-
您可以遍历 user_tables 和 user_columns 以构建一个立即执行语句并在运行中运行它,无论表中是否存在您需要的列。如果架构不是您从中运行查询的架构,您将需要 all_tables 和 all_columns 的权限,并改用这两个表。