
oracle数据库的这个sequence怎么写
这个sequence需按一定规则自增,规则:共20位数字,日期开头占8位,后12位为订单自增,中间补0....
这个sequence需按一定规则自增,规则:共20位数字,日期开头占8位,后12位为订单自增,中间补0.
展开
4个回答
展开全部
oracle中sequence创建方法及原则。
CREATE SEQUENCE 序列名
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXvalue -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10; --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为NOCACHE

2025-04-08 广告
Stata系列软件全国授权代理——北京友万。北京友万信息科技有限公司,总部设在北京市昌平科技园区,是一家专注于引进国内外软硬件产品的中关村高新技术企业。公司拥有多项自主研发的数据平台,依托自身经验丰富的技术团队资源,为不同领域的客户提供全面...
点击进入详情页
本回答由友万科技提供
展开全部
写一个函数,
create or replace function get_id() return varchar2
is
begin
return to_char(sysdate,'yyyymmdd')||lpad(seq_a.nextval,12,'0')
end;
create or replace function get_id() return varchar2
is
begin
return to_char(sysdate,'yyyymmdd')||lpad(seq_a.nextval,12,'0')
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
查询:select seq_XX.nextval from daul;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在Oracle中要想设置字段自增,序列和触发器组合使用才行。例如:
序列:
create sequence SEQ_XLH
minvalue 1
start with 1
increment by 1
cache 20
order;
首先在emp表增加一列ID类型字符20位:alter table emp add ID char(20);
触发器:
create or replace trigger trig_emp_id
before insert on emp
for each row
begin
select to_char(sysdate,'yyyymmdd')||
substr(to_char(1000000000000+seq_xlh.nextval),-12,12)
into :new.ID from dual;
end;
序列:
create sequence SEQ_XLH
minvalue 1
start with 1
increment by 1
cache 20
order;
首先在emp表增加一列ID类型字符20位:alter table emp add ID char(20);
触发器:
create or replace trigger trig_emp_id
before insert on emp
for each row
begin
select to_char(sysdate,'yyyymmdd')||
substr(to_char(1000000000000+seq_xlh.nextval),-12,12)
into :new.ID from dual;
end;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询