53

我正在为我的 Web 应用程序使用 Oracle 11g。我想向现有表添加一列和注释。我可以使用以下命令轻松做到这一点

ALTER TABLE product ADD product_description VARCHAR2(20)

COMMENT ON COLUMN product.product_description 
     IS 'This is comment for the column';

但我想在单个命令中完成上述任务。我在互联网上搜索了一个在单个命令中添加列和评论的命令,但我找不到。我想知道这是否可能。任何建议将不胜感激。

4

4 回答 4

37

不,你不能。

你没有理由需要这样做。这是一次性操作,因此实际键入和执行只需要一两秒钟。

如果您在 Web 应用程序中添加列,这更表明您的数据模型存在缺陷,因为您不需要这样做。


响应您的评论,评论是列属性;看起来可能是这样,但在幕后 Oracle 将其存储为对象的属性。

SQL> desc sys.com$
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 OBJ#                                      NOT NULL NUMBER
 COL#                                               NUMBER
 COMMENT$                                           VARCHAR2(4000)

SQL>

该列是可选的,sys.col$不包含评论信息。

我假设,我不知道,这样做是为了只有一个处理评论的系统而不是多个系统。

于 2012-07-03T10:01:06.337 回答
21

您可以使用以下查询来更新或创建已创建表的评论。

句法:

COMMENT ON COLUMN TableName.ColumnName IS 'comment text';

例子:

COMMENT ON COLUMN TAB_SAMBANGI.MY_COLUMN IS 'This is a comment on my column...';
于 2013-10-29T19:21:12.847 回答
6

添加评论列的查询是:

alter table table_name 
add( "NISFLAG"    NUMBER(1,0) )

comment on column "ELIXIR"."PRD_INFO_1"."NISPRODGSTAPPL" is 'comment here'

commit;
于 2014-08-14T12:18:12.743 回答
-2

为 EMPLOYEE 表的两个不同列添加注释:

COMMENT ON EMPLOYEE
     (WORKDEPT IS 'see DEPARTMENT table for names',
     EDLEVEL IS 'highest grade level passed in school' )
于 2014-03-14T08:43:37.747 回答