当前位置导航:炫浪网>>网络学院>>编程开发>>Oracle教程

Oracle字段的默认值无效的原因

  几天前有人问我设置了字段的默认值为什么无效呢?查找了一些资料,做了一个总结:


  createtableTEST
  (
  IDVARCHAR2(64),
  AVARCHAR2(3)default'0',
  NAMEVARCHAR2(100)
  );
  SQL>insertintotest(a,name)values(null,'test');
  1rowinserted
  SQL>select*fromtest;
  ANAME
  -----------------------------------------------------------------------------------
  test

  在上面的例子中,虽然A列设置了默认值为0,但插入空仍然无效。

  其实对于默认值,Oracle支持两种方式:

  Default关键字

  不指定列

  先看第一种方式,


  SQL>insertintotest(a,name)values(default,'test');
  1rowinserted
  SQL>select*fromtest;
  ANAME
  -----------------------------------------------------------------------------------
  0test

  列A终于有了默认值0。

  再看第二种方式,


  SQL>insertintotest2(name)values('test');
  1rowinserted
  SQL>select*fromtest2;
  ANAME
  -----------------------------------------------------------------------------------
  0test

 

共2页 首页 上一页 1 2 下一页 尾页 跳转到
相关内容
赞助商链接