Sun*_*van 42 sql oracle oracle11g
我正在使用Oracle 11g作为我的Web应用程序.我想在现有表中添加列和注释.我可以使用以下命令轻松完成
ALTER TABLE product ADD product_description VARCHAR2(20)
Run Code Online (Sandbox Code Playgroud)
和
COMMENT ON COLUMN product.product_description
IS 'This is comment for the column';
Run Code Online (Sandbox Code Playgroud)
但我想在单一命令中执行上述任务.我在互联网上搜索了一个命令,在一个命令中添加一个列和注释,但我找不到.我想知道这是否可行.任何建议都将受到高度赞赏.
Ben*_*Ben 31
不,你不能.
没有理由你需要.这是一次性操作,因此实际输入和执行只需要一两秒钟.
如果您在Web应用程序中添加列,则更多地表明您的数据模型存在缺陷,因为您不应该这样做.
响应您的评论,评论是列属性; 它可能看起来如此,但在幕后,Oracle将其存储为对象的属性.
SQL> desc sys.com$
Name Null? Type
----------------------------------------- -------- ----------------------------
OBJ# NOT NULL NUMBER
COL# NUMBER
COMMENT$ VARCHAR2(4000)
SQL>
Run Code Online (Sandbox Code Playgroud)
该列是可选的,sys.col$不包含注释信息.
我假设,我不知道,这是为了只有一个处理注释而不是多个系统.
小智 14
您可以使用以下查询来更新或创建已创建表的注释.
句法:
COMMENT ON COLUMN TableName.ColumnName IS 'comment text';
Run Code Online (Sandbox Code Playgroud)
例:
COMMENT ON COLUMN TAB_SAMBANGI.MY_COLUMN IS 'This is a comment on my column...';
Run Code Online (Sandbox Code Playgroud)
添加带有注释的列的查询是:
alter table table_name
add( "NISFLAG" NUMBER(1,0) )
comment on column "ELIXIR"."PRD_INFO_1"."NISPRODGSTAPPL" is 'comment here'
commit;
Run Code Online (Sandbox Code Playgroud)