sql - 多栏评论

标签 sql oracle

我知道我可以用 COMMENT ON COLUMN table.column IS 'commentString' 来评论一列,但是有没有办法在一个语句中将相同的评论添加到多个列?

例如,我需要将注释“用户数据”添加到 NAME 和 BIRTHDATE 列,我想了解是否可以在一条语句中完成,而不是重复 COMMENT ON COLUMN x.y IS '用户数据'两次。

最佳答案

用直接的方式是不可能的,但是你可以在 PL\SQL block 中使用动态 SQL 来完成

BEGIN
    FOR i IN (SELECT t.owner || '.' || t.table_name || '.' || t.column_name col
                FROM all_tab_cols t
               WHERE t.owner = 'OWNER' AND t.table_name = 'TABLE_NAME' AND
                     t.column_name IN ('COL1', 'COL2'))
    LOOP
        EXECUTE IMMEDIATE 'COMMENT ON COLUMN ' || i.col ||
                          ' IS ''PLACE COMMENT HERE''';
    END LOOP;
END;

关于sql - 多栏评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34739312/

相关文章:

java - oracle.sql.ARRAY 和 oracle.sql.ArrayDescriptor 的通用实现

sql - 将数据透视表中的 NULL 替换为 0 并结合 avg CAST

mysql - 如何创建 SQL 查询以获取另一列的每个 GROUP'ed BY 值的列的唯一值

sql - 使用模型子句来扩展日期

sql - 批量插入分区表和表级锁

sql - 从 Oracle 数据库中的 XML 属性查询时如何使用 XPath 表达式

php - 插入查询在 php 中不起作用

mysql - 从三个不同的表生成两列,并使用分组变量计算这些列的比率

mysql - 要求给出正确的徽章并模糊其余的

oracle - 具有多个数据源的 Tomcat 6/7 JNDI