用动态sql
str varchar2(200);
str:='drop sequence ...';
execute immediate str;
str:='create sequence ...';
execute immediate str;
str varchar2(200);
str:='drop sequence ...';
execute immediate str;
str:='create sequence ...';
execute immediate str;
before insert or update or delete on a
for each row
declare
str varchar2(100);
v_date varchar2(10);
begin
select max(col_date) into v_date from a;
if to_char(sysdate,'yyyymmdd')>substr(v_date,1,8) then
str:='drop SEQENCE ...';
execute immediate str;
str:='create SEQENCE ...';
execute immediate str;
end if;
select seq_name.nextval into :new.id from a;
end;
/
ORA-04092: COMMIT 不能在触发器中
ORA-06512: 在"HOT.TR_TESTID", line 8
ORA-04088: 触发器 'HOT.TR_TESTID' 执行过程中出错
line 8 是:execute immediate str;
这是为什么??!!
序列是可以重置的阿
alter sequence aaaa MINVALUE
检查一下你执行的语句,