触发器编译出错

dba_sunny 2011-03-21 12:04:10
CREATE OR REPLACE TRIGGER x_ADS.TRG_GUID

  BEFORE INSERT

  ON x_ads.registuser

  REFERENCING OLD AS OLD NEW AS NEW

  FOR EACH ROW


  begin

  select x_ADS.sqe_registuser.nextval into:new.GUID from dual;

  end;


这个触发器哪里有错?

报错:
Compilation errors for TRIGGER X_ADS.TRG_GUID

Error: 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> << continue close current delete fetch lock
insert open rollback savepoint set sql execute commit forall
merge pipe purge
Line: 14
Text:   select x_ADS.sqe_registuser.nextval into:new.GUID from dual;

...全文
90 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dba_sunny 2011-03-21
  • 打赏
  • 举报
回复
还是不行
跟用户有没有关系?
我用的是另外一个用户 dba的。
表和序列都是x_ads用户的。
UPC子夜 2011-03-21
  • 打赏
  • 举报
回复
CREATE OR REPLACE TRIGGER x_ADS.TRG_GUID
BEFORE INSERT ON x_ads.registuser
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
begin
select x_ADS.sqe_registuser.nextval into :new.GUID from dual;
end;
楼主试试这个
可能你中间某些空格的格式不对 系统无法识别
把空格都删掉就好了
dba_sunny 2011-03-21
  • 打赏
  • 举报
回复
有空格的也是这样的错误
dba_sunny 2011-03-21
  • 打赏
  • 举报
回复
这个不算。

没有空格的也报这个错
  • 打赏
  • 举报
回复

CREATE OR REPLACE TRIGGER x_ADS.TRG_GUID
BEFORE INSERT
ON x_ads.registuser
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
begin
select x_ADS.sqe_registuser.nextval into :new.GUID from dual;--into和:new.GUID少了空格
end;
goingdown_ 2011-03-21
  • 打赏
  • 举报
回复
dba_sunny 2011-03-21
  • 打赏
  • 举报
回复
终于搞定了 是该死的中文输入法捣的鬼

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧