ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 转贴杨大师yangtingkun_如何为table快速添加一个默认值的新列

转贴杨大师yangtingkun_如何为table快速添加一个默认值的新列

原创 Linux操作系统 作者:wisdomone1 时间:2012-03-30 11:52:05 0 删除 编辑
附上杨大师的文章链接快速增加表新加列的默认值的方法

下为自己测试示例:
2012年3月30日 星期五 11时53分



SQL> conn scott/system
已连接。
SQL> create table t_add_newcol(a int,b int);

表已创建。

SQL> insert into t_add_newcol values(1,1);

已创建 1 行。

SQL> insert into t_add_newcol values(2,2);

已创建 1 行。

SQL> commit;

提交完成。

SQL> select * from t_add_newcol;

         A          B
---------- ----------
         1          1
         2          2

SQL> alter table t_add_newcol add new_c int;

表已更改。

SQL> select * from t_add_newcol;

         A          B      NEW_C
---------- ---------- ----------
         1          1
         2          2

SQL> alter table t_add_newcol modify  new_c int default 8;

表已更改。

//表明执行添加默认值的新列后,原有记录不会发生变化,新添列还是空null
SQL> select * from t_add_newcol;

         A          B      NEW_C
---------- ---------- ----------
         1          1
         2          2



SQL> insert into t_add_newcol values(3,3,default)
  2  ;

已创建 1 行。

SQL> commit;

提交完成。

SQL> select * from t_add_newcol;

         A          B      NEW_C
---------- ---------- ----------
         1          1
         2          2
         3          3          8 

SQL> insert into t_add_newcol(a,b) values(4,4);

已创建 1 行。

SQL> commit;

提交完成。

SQL> select * from t_add_newcol;

         A          B      NEW_C
---------- ---------- ----------
         1          1
         2          2
         3          3          8
         4          4          8


//通过视图实现向表中添加默认值新列后,让新添列显示(添加列前后)默认值
SQL> create view view_add_newcol
  2  (a,b,new_c)
  3  as
  4  select a,b,nvl(new_c,8) from t_add_newcol;

视图已创建。

SQL> select * from view_add_newcol;

         A          B      NEW_C
---------- ---------- ----------
         1          1          8
         2          2          8
         3          3          8
         4          4          8


小结:
 1,视图可以很好的使用,用得好,实利于工作
     2,在生产系统中,重大操作要分批次进行,比如上述的ddl分多批次进行,这样
  对业务影响减小
    3,基本概念掌握相当重要,这样才会有更精细的方案.防止操作失误出现

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-719909/,如需转载,请注明出处,否则将追究法律责任。

下一篇: c# 委托测试
请登录后发表评论 登录
全部评论
提供针对oracle初学者及进阶的数据库培训,欢迎大家咨询: 微信: wisdomone 微信公众号: lovedb qq: 305076427 微博: wisdomone9

注册时间:2008-04-04

  • 博文量
    2164
  • 访问量
    11711377