Oracle批量插入数据(2条数据以上),自己如何根据规则生成唯一标识ID?
问题如题,例如生成ID规则是,例如201811060001是日期+当天的第几条数据,同时插入2条以上的数据,怎么根据该规则生成ID?createorreplacetrig...
问题如题,例如
生成ID规则是,例如 201811060001 是 日期 + 当天的第几条数据,
同时插入2条以上的数据,怎么根据该规则生成ID?
create or replace trigger WT_CP_ORD_TRIGGER
before insert on WT_CP_ORD
for each row
declare
-- local variables here
begin
if :NEW.ord_id is null then
:NEW.ord_id :=
(select
case when SUBSTR(max(b.ord_id),1,8) != to_char(sysdate,'yyyyMMdd') then to_char(sysdate,'yyyyMMdd')||'001'
else max(b.ord_id)+1||'' end
from WT_CP_ORD b);
end if;
end;
这个ID生成,多条数据就重复,如果是主键,就会报错主键冲突 展开
生成ID规则是,例如 201811060001 是 日期 + 当天的第几条数据,
同时插入2条以上的数据,怎么根据该规则生成ID?
create or replace trigger WT_CP_ORD_TRIGGER
before insert on WT_CP_ORD
for each row
declare
-- local variables here
begin
if :NEW.ord_id is null then
:NEW.ord_id :=
(select
case when SUBSTR(max(b.ord_id),1,8) != to_char(sysdate,'yyyyMMdd') then to_char(sysdate,'yyyyMMdd')||'001'
else max(b.ord_id)+1||'' end
from WT_CP_ORD b);
end if;
end;
这个ID生成,多条数据就重复,如果是主键,就会报错主键冲突 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询