ITPub博客

首页 > 数据库 > Oracle > 新加列,以及对新加列设置默认值

新加列,以及对新加列设置默认值

Oracle 作者:lwldarkie 时间:2013-06-16 11:31:56 0 删除 编辑
SQL> create table test(id int,age int);//创建表

Table created.

SQL> insert into test values(1,10);    //填充数据

1 row created.

SQL> insert into test values(2,20);

1 row created.

SQL> select * from test;               //实验前,表的内容

        ID        AGE
---------- ----------
                10
                20

SQL> alter table test                  //添加一列name,并设置默认值为'I love oracle'
  add name varchar(20) default 'I love oracle';

Table altered.

SQL> select * from test;               //可以看到,设置过后,表中前两行不仅多了一列name,
                                       //而且值也被设置成了'I love oracle'
        ID        AGE NAME
---------- ---------- --------------------
                10 I love oracle
                20 I love oracle

SQL> alter table test                   //再添加一列city
  add city char(10);

Table altered.

SQL> select * from test;

        ID        AGE NAME                 CITY
---------- ---------- -------------------- ----------
                10 I love oracle
                20 I love oracle

SQL> alter table test                    //设置默认值为'nanjing'
  modify city default 'nanjing';

Table altered.

SQL> select * from test;                 //查看后,发现前两行记录并未受到影响

        ID        AGE NAME                 CITY
---------- ---------- -------------------- ----------
                10 I love oracle
                20 I love oracle

SQL> insert into test(id,age) values(3,30);//添加第3条记录

1 row created.

SQL> select * from test;                   //查看发现,第3条记录的city值被设置成了'nanjing'

        ID        AGE NAME                 CITY
---------- ---------- -------------------- ----------
                10 I love oracle
                20 I love oracle
                30 I love oracle        nanjing

总结:alter table xxx add xxx default xxx,对语句前后的新旧记录都有效
      而alter table xxx add xxx;
      再alter table xxx modify xxx default xxx,只对语句后记录有效

<!-- 正文结束 -->

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

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-06-19