多栏评论

时间:2016-01-12 09:02:43

标签: sql oracle

我知道我可以使用COMMENT ON COLUMN table.column IS 'commentString'对列进行评论,但有没有办法在一个语句中为多个列添加相同的注释?

例如,我需要将注释“用户数据”添加到NAME和BIRTHDATE列中,我想了解是否可以在一个语句中执行此操作,而不是重复COMMENT ON COLUMN x.y IS 'User Data'两次。< / p>

1 个答案:

答案 0 :(得分:1)

这是不可能的,但你可以在PL \ SQL块

中使用动态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;