我创建了一个序列:
CREATE SEQUENCE emp_sequence
  INCREMENT BY 1 
  START WITH 1 
  NOMAXVALUE 
  NOCYCLE 
  NOCACHE 
然后建了一个触发器:
CREATE TRIGGER "increase" BEFORE
  INSERT ON example FOR EACH ROW WHEN (new.id is null)
  begin
  select emp_sequence.nextval into: new.id from dual;
  end;
现在编译触发器老是报错:line # = 2 Column # = 2 Error Text = PLS-00103: 出现符号 ""在需要下列之一时:
 begin case declare exit for
   goto if loop mod null pragma raise return select update while
   with <an identifier> <a double-quoted delimited-identifier>
   <a bind variable> << close current delete fetch lock insert这是什么问题啊?

解决方案 »

  1.   

    CREATE TRIGGER "increase" BEFORE
      INSERT ON example FOR EACH ROW WHEN (new.id is null)
      begin
      select emp_sequence.nextval into: new.id from dual;
      end;
    into后面,应该是 into :new.id另外,触发器名去掉双引号,它会给你带来很多不必要的麻烦!
      

  2.   

    你的代码在哪儿复制的,有很多16进制为A1的不可见字符
    导致编译错误!!
    把每句前面的空白部分删除吧
    CREATE TRIGGER "increase" BEFORE
    INSERT ON example FOR EACH ROW WHEN (new.id is null)
    BEGIN
      SELECT emp_sequence.nextval INTO :new.id FROM dual;
    END;
      

  3.   

    今天有一个贴子问题和你这个一样
    http://topic.csdn.net/u/20100422/09/d112e405-6b12-407e-a8fd-5c8f3959d2d1.html