如果在触发器编写完后,后面没有代码则一切正常

解决方案 »

  1.   

    应该把代码写在begin  end 中,我在pl/sql delvelop 中,什么不写,会提示错误的。
    有可能你有语法错误
      

  2.   


    /************************************************************
    功能:创建表
    表名:AlarmKind
    说明:报警信息类型*/
    create table DaTang.AlarmKind
    (AlarmKindID number(12) not null,
     AlarmKindName varchar2(80) not null,
     constraint AlarmKindKey primary key(AlarmKindID)
     using index
     TableSpace USERS)
    TableSpace USERS;/************************************************************
    功能:创建表
    表名:EncomyKind
    说明:经济性质*/
    create table DaTang.EncomyKind
    (ID number(12) not null,
     EncomyKind varchar2(20) not null,
     Note varchar2(40), 
     constraint EncomyKindKey primary key(ID)
     using index
     TableSpace USERS)
    TableSpace USERS;create sequence DaTang.EncomyKindSeq;
    create sequence DaTang.AlarmKindSeq;create or replace trigger DaTang.EncomyKindTri
           before insert on DaTang.EncomyKind
           for each row
       begin
          select DaTang.EncomyKindSeq.nextval into :new.ID from dual;
       end;create or replace trigger DaTang.AlarmKindTri
           before insert on DaTang.AlarmKind
           for each row
       begin
          select DaTang.AlarmKindSeq.nextval into :new.AlarmKindID from dual;
       end;
    这样就不行,因为第一个触发器后面有代码,如过我把第二个触发器去除就对了,如:/************************************************************
    功能:创建表
    表名:AlarmKind
    说明:报警信息类型*/
    create table DaTang.AlarmKind
    (AlarmKindID number(12) not null,
     AlarmKindName varchar2(80) not null,
     constraint AlarmKindKey primary key(AlarmKindID)
     using index
     TableSpace USERS)
    TableSpace USERS;/************************************************************
    功能:创建表
    表名:EncomyKind
    说明:经济性质*/
    create table DaTang.EncomyKind
    (ID number(12) not null,
     EncomyKind varchar2(20) not null,
     Note varchar2(40), 
     constraint EncomyKindKey primary key(ID)
     using index
     TableSpace USERS)
    TableSpace USERS;create sequence DaTang.EncomyKindSeq;
    create sequence DaTang.AlarmKindSeq;create or replace trigger DaTang.EncomyKindTri
           before insert on DaTang.EncomyKind
           for each row
       begin
          select DaTang.EncomyKindSeq.nextval into :new.ID from dual;
       end;我是在SQL Plus中运行代码的
      

  3.   

    select DaTang.EncomyKindSeq.nextval into :new.ID from dual;
    这条语句我不会nextval,帮你顶
    错误提示是?