用oracle10g 在pl/sql里写这样建表语句:
create table person
(  id number(5) auto increment not null primary key,
   uid varchar2(30),
   name varchar2(30),
   password varchar2(20),
   createTime date ,
   expireTime date 
 )
一直在说我缺少右括号,少在哪里啊?请帮忙,谢谢了
   

解决方案 »

  1.   

    还有就是建表不要用oracle关键字
      

  2.   

    create table person
    (id number(5) primary key,
    uid1 varchar2(30),
    name varchar2(30),
    pw varchar2(20),
    createTime date,
    expireTime date)
      

  3.   

    create table person
    ( id number(5)not null primary key,
    sid varchar2(30),
    name varchar2(30),
    password varchar2(20),
    createTime date ,
    expireTime date 
    )
    oracle 没有自增列并且那个uid是oracle保留字
      

  4.   

    create table person
    ( id number(5) auto increment not null primary key,
    uid varchar2(30),
    name varchar2(30),
    password varchar2(20),
    createTime date ,
    expireTime date 
    )
      

  5.   

    uid  是关键字,不能当列名!oracle 没有自增列
      

  6.   

    uid 是oracle保留字,且oracle没有自增列(用Sequences)
      

  7.   


    Create Or Replace Trigger trigger_name Before
    Insert On table_name For Each Row 
    when (New.cell_name Is Null)
    Begin
    Select name.Nextval Into :New.cell_name From dual;
    End;
      

  8.   

    create table person
    ( id number(5)not null primary key,
    sid varchar2(30),
    name varchar2(30),
    password varchar2(20),
    createTime date ,
    expireTime date 
    );
    create sequence test3;Create Or Replace Trigger testr Before
    Insert On person For Each Row 
    when (new.id Is Null)
    Begin
    Select test3.Nextval Into :new.id From dual;
    End;
      

  9.   

    1.oracle的递增列一般都是通过触发器实现(oracle没有自增列)2.关键字不能作为字段名(uid)
      

  10.   

    auto increment 是mysql里面的 oracle 没有 只有序列sequence 
      

  11.   

    oracle中建表要尊寻一定的原则
    表名:能够反映属于什么项目,能够表示功能,能够反映是一个表
    字段:如果是简单的测试表,长度或是类型都没有必要深度研究,与其他的表是否有关联,建索引,表空间都要考虑到,建一个表不是那么简单的。
    希望共同探讨