it小bb 2015-11-03 07:29
浏览 616

求大神解惑,oracle使用触发器报错,

求大神解惑,oracle使用触发器,在插入的表中无数据时,报错(如下图),再执行就成功了,可是序列从2开始了,我想问下如何让它从1开始不报错
下面是触发器:
create or REPLACE trigger trigger_name
BEFORE insert on test
for each row
DECLARE
v_newVal NUMBER(12) := 0;
BEGIN
if(INSERTING AND :new.DEVICEBRAND_SK IS NULL) then
select sequence_p .nextval into v_newVal from DUAL;

 if v_newVal = 1 THEN
   SELECT NVL(max(devicebrand_sk),0) INTO v_newVal FROM test;
   v_newVal := v_newVal + 1;
   end IF ;
 :new.devicebrand_sk := v_newVal;

end if;
end;
下面是序列:
create sequence sequence_p minvalue 1 maxvalue 999999999999999999999999 start with 1 increment by 1 cache 20;

图片说明

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 WPF使用Canvas绘制矢量图问题
    • ¥15 用三极管设计一个单管共射放大电路
    • ¥15 孟德尔随机化r语言运行问题
    • ¥15 pyinstaller编译的时候出现No module named 'imp'
    • ¥15 nirs_kit中打码怎么看(打码文件是csv格式)
    • ¥15 怎么把多于硬盘空间放到根目录下
    • ¥15 Matlab问题解答有两个问题
    • ¥15 LCD12864中文显示
    • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决
    • ¥15 gsoap生成onvif框架