oracle给表添加一个字段(不为空,有说明)怎么写

zzyhost 2016-05-03 08:30:43
alter table 表名 add 字段名 varchar2(20);
这个只是单单的加一个字段,我想让它不为空,且有说明,怎么写全?
...全文
9482 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
我爱大家369 2016-05-11
  • 打赏
  • 举报
回复
引用 2 楼 shanying_lv 的回复:
楼主,如果该表中没有数据

alter TABLE test_tab ADD new_column varchar2(20)  not null ;
如果表中已经有数据的话,你要求该字段默认不为空,那么添加的时候必须给个值的,才不为空。

alter TABLE test_tab ADD new_column varchar2(20) DEFAULT 'XX' not NULL;
加注释是

comment on column test_tab.new_column is '注释内容' ;
土豆番茄 2016-05-03
  • 打赏
  • 举报
回复
楼主,如果该表中没有数据

alter TABLE test_tab ADD new_column varchar2(20)  not null ;
如果表中已经有数据的话,你要求该字段默认不为空,那么添加的时候必须给个值的,才不为空。

alter TABLE test_tab ADD new_column varchar2(20) DEFAULT 'XX' not NULL;
加注释是

comment on column test_tab.new_column is '注释内容' ;
卖水果的net 2016-05-03
  • 打赏
  • 举报
回复

SQL> create table test(id int ) ;
Table created
SQL> begin
  2  insert into test values(1);
  3  insert into test values(2);
  4  end ;
  5  /
PL/SQL procedure successfully completed
SQL> -- 增加列
SQL> alter table test add name varchar2(10) default 'XX' not null ;
Table altered
SQL> -- 增加列的说明,和上一条语句,必须分开写
SQL> comment on column test.name is 'users name' ;
Comment added
SQL> select * from test ;
   ID NAME
----- ----------
    1 XX
    2 XX
SQL> drop table test purge ;
Table dropped

SQL> 

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧