create or replace TRIGGER Cash_ftm07_insert_before -- 增加一个insert之前的触发器
before insert on ftm07
for each row
declare
i_id integer;
begin
select ftm07_seq.nextval into i_id from dual;
:NEW.ftg02f := i_id;
end;
可以从上面看到,如同SQL SERVER一样,你并不需要对ftg02f字段进行操作,触发器会帮你搞定一切.但是有一个不同需要注意了:sequence的值不能被手工重置
在SQL SERVER中可以通过dbcc checkident(表名,reseed,0)或者truncate table tableName(如果数据也不需要的话)将表中的identity栏位重置为1,而Oracle的sequence做不到这点,sequence只有达到最大值後,系统才会自动将其重置为预定的最小值.