这句sql哪里有问题,大神帮忙看看

create or replace trigger USERSS_ID before insert on USERINFO
for each row
declare
temp number;
begin
select case
when max(id)<>0 then max(id)+1
else 1
end
into temp from UserInfo;
select temp into :new.id from dual;
end;

sqlyog里面运行 应该会指明哪一行错误吧

在oracle中跑了一遍没问题,可以看看表结构有问题没有

create or replace trigger USERSS_ID before insert on TEST
for each row
declare
temp number;
begin
select case
when max(ID)<>0 then max(ID)+1
else 1
end
into temp from TEST;
select temp into :new.nid from dual;
end;
/