Question

I want to add multi-line table/column comment.

Normally this is used;

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

What I need is a way to insert the new-line inside the single quotation marks like;

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'

So that table comments will be seen like;

User table has the user data
1- Name column has name
2- Number Column has the id

Anybody knows how add multi-line table/column comments?

Was it helpful?

Solution

You can simply put line feeds inside the single-quotes of your comment declaration, for example:

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

Note, however, that in SQL Developer (and perhaps other tools) this will not always display as expected. With the following query ...

SELECT *
FROM USER_COL_COMMENTS
WHERE
  TABLE_NAME = 'MYTABLE'
  AND COMMENTS IS NOT NULL;

... you'll get exactly what you're looking for in Script Output (i.e., highlight the query, right-click, select "Run Script"):

TABLE_NAME COLUMN_NAME COMMENTS                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
---------- ----------- --------------
MYTABLE    MYCOLUMN    Line 1
                       Line 2
                       Line 3
MYTABLE    OTHERCOLUMN Other comments

But in a Query Result (i.e., highlight the query, right-click, select "Run Statement"), or when opening the table and looking at the Columns tab, the full comment will be run together on a single line.

Note: The tables in which these comments can be queried are:

  • Comments on tables: USER_TAB_COMMENTS
  • Comments on columns: USER_COL_COMMENTS

OTHER TIPS

In SQLPlus you can use concat with chr(10) (or chr(13) || chr(10) in Microsoft Windows environment):

'User table has the user data' || chr(10) || '1- Name column has name...'

Also, it should be possible to just interpret newlines by setting SQLBLANKLINES to ON:

SET SQLBLANKLINES ON
COMMENT ON TABLE USERS IS 'User table has the user data
1- Name column has name
2- Number Column has the id'
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top