sql - Oracle SQL添加多行表注释或列注释

标签 sql oracle multiline comments

我想添加多行表/列注释。

通常使用

COMMENT ON TABLE USERS IS 'User table has the user data'

我需要的是一种在单引号内插入换行符的方法,例如;
COMMENT ON TABLE USERS IS 'User table has the user data <smthg_here_for_new_line> 1- Name column has name <smthg_here_for_new_line> 2- Number Column has the id'

这样,表的注释将显示为:
User table has the user data
1- Name column has name
2- Number Column has the id

有人知道如何添加多行表/列注释吗?

最佳答案

您可以简单地将换行符放在注释声明的单引号内,例如:

COMMENT ON COLUMN MYTABLE.MYCOLUMN
IS
'Line 1
Line 2.
Line 3';

但是请注意,在SQL Developer(可能还有其他工具)中,这将不会总是按预期显示。用以下查询...
SELECT *
FROM USER_COL_COMMENTS
WHERE
  TABLE_NAME = 'MYTABLE'
  AND COMMENTS IS NOT NULL;

...您将在“脚本输出”中找到所需的内容(即突出显示查询,右键单击,选择“运行脚本”):
TABLE_NAME COLUMN_NAME COMMENTS                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
---------- ----------- --------------
MYTABLE    MYCOLUMN    Line 1
                       Line 2
                       Line 3
MYTABLE    OTHERCOLUMN Other comments

但是在查询结果中(即突出显示查询,单击鼠标右键,选择“运行语句”),或者在打开表格并查看“列”标签时,完整的注释将一起显示在一行上。

注意:可在其中查询这些注释的表为:
  • 对表的评论:USER_TAB_COMMENTS
  • 对列的评论:USER_COL_COMMENTS
  • 关于sql - Oracle SQL添加多行表注释或列注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21919468/

    相关文章:

    c# - SQL:指定的转换无效

    oracle - 如何使用Oracle 11g数据库在Grails中更新hibernate_sequence?

    Oracle 获取列数据大小

    linux - 使用 EOF、EOT、EOL 追加多行制表符分隔文本形式的 bash 脚本

    MySQL 外键错误 1452

    sql - 将一组行显示为单行

    mysql - 如何给用户添加积分行?

    Oracle PL/SQL 变量记录字段名称

    latex -\right) 不适用于 LaTeX 多行方程

    javascript正则表达式,用多行字符串中的单个实例替换多个实例