我刚创建了个表
create table student(
  2  name varchar2(20),
  3  class number(2),
  4  birthday date, 
  5  sal number(7,2)
  6  );
提示创建成功
然后我又想查入一位学员信息 我打的命令是
 insert into student(name,class,birthday) values(‘小明’,‘04’,‘11-12月-1987’);
为什么提示
SQL> insert into student(name,class,birthday) values(‘小明’,‘04’,‘11-12月-1987’);
  2  
好像要输入第2行
这是什么意思??
我是新手 请高手帮忙看看 谢谢了

解决方案 »

  1.   

    class 是number类型,把‘04’ 改成04,试试!
      

  2.   

    class是number类型,把‘04’改成04
      

  3.   

    insert into student(name,class,birthday) values(‘小明’,‘04’,‘11-12月-1987’)查看一下该分号是否为英文分号。
    你的class,birthday字段分别为number和date类型的,而你插入的class对应的是一个字符型的值‘04’,插入的birthday字段对应的值也为字符型的值。
      

  4.   

    好多引号有问题..insert into student(name,class,birthday) values('小明',4,to_date('11-12月-1987’,'dd-Mon-yyyy');
      

  5.   

    SQL> insert into student(name,class,birthday) values(‘小明’,‘04’,‘11-12月-1987’); 最后一个分号换成英文下的分号试试..
      

  6.   

    试试:
    insert into student(name,class,birthday) values('小明','04,'11-12月-1987'); 
      

  7.   

    insert into student(name,class,birthday) values('小明',4,to_date('11-12月-1987’,'dd-Mon-yyyy');
    这个绝对是正解。出现2应该是你的分号是中文模式下输入的,你要在英文模式下输入分号;这样才行。
      

  8.   

    这样执行就没问题了。(另单引号,分号,括号等符号应该在英文字符下)
    insert into student1(name,class,birthday) values('小明',4,to_date('11121987','ddmmyyyy'));
      

  9.   

    insert into student4(name,class,birthday) values('小明',04,to_date('11-12月-1987','DD-MON-YYYY'));commit ;