首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

oracle语法

2012-04-02 
oracle语法求助各位大哥,oracle的default属性语法怎么写我建表的时候CREATE TABLE topic(id number(15) NO

oracle语法求助
各位大哥,oracle的default属性语法怎么写
我建表的时候
CREATE TABLE topic(
  id number(15) NOT NULL,  
  parentid number(16) NOT NULL default 0,
  forumid number(16) NOT NULL default 0,
  username varchar(20),
  title varchar(250),
  content varchar2(1000),
  postdate date ,
  replies number(16) NOT NULL default 0
);
老是在default报错:ORA-00907: 缺少右括号

[解决办法]

SQL code
SQL> CREATE TABLE topic(  2    id number(15) NOT NULL,   3    parentid number(16) default 0 NOT NULL ,  4    forumid number(16) default 0 NOT NULL ,  5    username varchar(20),  6    title varchar(250),  7    content varchar2(1000),  8    postdate date ,  9    replies number(16) default 0 NOT NULL  10  ); Table created.SQL>
[解决办法]
既然都有默认值了,那就没有必要not null了。

SQL code
CREATE TABLE topic(   id number(15) NOT NULL,    parentid number(16)  default 0,   forumid number(16)  default 0,   username varchar(20),   title varchar(250),   content varchar2(1000),   postdate date ,   replies number(16)  default 0 );
[解决办法]
SQL code
/--not null和default 0是重复的。 CREATE TABLE topic(   id number(15) NOT NULL,    parentid number(16)  default 0,   forumid number(16)  default 0,   username varchar(20),   title varchar(250),   content varchar2(1000),   postdate date ,   replies number(16)  default 0 );
[解决办法]
楼上大侠们, 默认值和非空约束是两回事吧?

SQL code
SQL> create table t10(  2  id varchar2(10) default 'notset');Table created.SQL> insert into t10 values('aa');1 row created.SQL> insert into t10 values('bb');1 row created.SQL> commit;Commit complete.SQL> update t10 set id = null where id = 'aa';1 row updated.SQL> select * from t10;ID----------bbSQL> commit;
[解决办法]
那就是1楼的正解,谢谢lpc19598188 提醒。好好学习!

热点排行
Bad Request.