首页 文章

为什么我在Oracle中遇到文件的符号结尾? [关闭]

提问于
浏览
-1

我正在尝试创建一个触发器来自动增加Oracle中的id值 . 这是我尝试使用的代码

create or replace 
trigger themes_on_insert
before insert on THEME
for each row
begin
select themes_sequence.nextval
into :new.ID
from dummy
end;

错误(5,4):PLS-00103:当遇到以下情况之一时遇到符号“文件结束”:(如果循环mod为空,则编译结束异常退出,如果循环mod为空pragma,则返回选择更新,同时使用< <continue close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge pipe purge

2 回答

  • 2

    ;从假人后失踪?

    create or replace 
    trigger themes_on_insert
    before insert on THEME
    for each row
    begin
    select themes_sequence.nextval
    into :new.ID
    from dummy;
    end;
    
  • 0

    必须以 ; 结束语句,并且必须以 / 结束整个PL / SQL块

    create or replace trigger themes_on_insert
      before insert on THEME
      for each row
    begin
      select themes_sequence.nextval
      into :new.ID
      from dummy; --<< missing ; here
    end;
    /
    

    select 实际上不是必需的,这可以简化为:

    create or replace trigger themes_on_insert
      before insert on THEME
      for each row
    begin
      :new.ID := themes_sequence.nextval;
    end;
    /
    

    有关为什么需要 / 的详细信息,请参阅here

相关问题