oracle数据库的这个sequence怎么写

这个sequence需按一定规则自增,规则:共20位数字,日期开头占8位,后12位为订单自增,中间补0.... 这个sequence需按一定规则自增,规则:共20位数字,日期开头占8位,后12位为订单自增,中间补0. 展开
 我来答
badkano
推荐于2017-09-18 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144771 获赞数:885415
团长

向TA提问 私信TA
展开全部

oracle中sequence创建方法及原则。

CREATE SEQUENCE 序列名
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXvalue -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10; --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为NOCACHE
友万科技
2025-04-08 广告
Stata系列软件全国授权代理——北京友万。北京友万信息科技有限公司,总部设在北京市昌平科技园区,是一家专注于引进国内外软硬件产品的中关村高新技术企业。公司拥有多项自主研发的数据平台,依托自身经验丰富的技术团队资源,为不同领域的客户提供全面... 点击进入详情页
本回答由友万科技提供
micro0369
2012-12-02 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4826万
展开全部
写一个函数,

create or replace function get_id() return varchar2
is
begin
return to_char(sysdate,'yyyymmdd')||lpad(seq_a.nextval,12,'0')
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lenyStore
2012-12-04
知道答主
回答量:5
采纳率:0%
帮助的人:5056
展开全部
查询:select seq_XX.nextval from daul;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
随o天
推荐于2017-09-06 · TA获得超过3160个赞
知道大有可为答主
回答量:1740
采纳率:71%
帮助的人:2163万
展开全部
在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;
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式