一、创建测试表格
二、创建序列
创建一个sql语句窗口,写入语句 其中TestSequence是你创建序列的名称
-- Create sequence
create sequence TestSequence
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
cache 20;
执行后可在sequence文件夹下查看
三、创建触发器
create or replace trigger TestTriger
before insert on TestTable
referencing old as old new as new for each row
begin
select TestSequence.nextval into :new.id from dual;
end;
创建完毕可在Triggers文件夹下查看
四、测试
右键新建表格 选择编辑数据
这里id写了0 和10 ,提交后默认从1开始自增
注意问题:
上图我插入数据测试自增id时,出现了这个错误,但是错误表现得并不是很明确,
如果 trigger 出现问题时,找到新建trigger,右键编辑,选中所有语句 执行一次,就会找到问题原因。
原来是我自增得id字段出现了问题,我得EEAData表中这个id字段名为 EEA_ID,修改过来 再次运行。
编译成功。