荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: Jobs (温少), 信区: Database
标 题: 序号生成器
发信站: BBS 荔园晨风站 (Fri Nov 3 18:51:06 2000), 站内信件
【 以下文字转载自 Visual 讨论区 】
【 原文由 Jobs 所发表 】
一 序号生成器
有很多应用系统要用到序号,如商场的销货号,货物入库的流水号
等等。由于序号是连续生成的,在大型系统中,会有多个用户同时申请
下一个序号,序号生成便成了应用系统的瓶颈问题∥私饩稣飧鑫侍猓?nbsp;
大型数据库都增加了序号对象。通过序号对象可以自动生成序号,多个
用户可以并发读取,无需互相等待。
二 ORACLE的序号生成器
ORACLE序号生成的语法为:
create 序号名 increment by 每次增长数
start with 起始序号
例如,生成序号seq1,初始值为1,每次增长为1:
create seq1 increment by 1
start with 1
可以用下面的语句得到当前的序号:
select seq1.currval from dual
也可以用下面的语句得到下一个序号:
insert into dept values(seq1.nextval,...)
在一个事务中,不管由于什么原因程序终止,已经申请的序号就不能
再使用了。多个用户同时使用序号时,它们之间互不等待。因此,使用序
号发生器会有跳号现象出现。
三 SYBASE的序号生成器
在SYBASE中,每个表可以有一个identity列,此列即为序号列。定义
序号列的语法为:
create table 表名
(...
序号列名 numeric(长度,0) identity,
...
)
序号列的数据类型必须是numeric,小数位数必须是0。
SYBASE会自动往序号列中加入数据。序号的起始值为1。与ORACLE类似,
在一个事务中,不管由于什么原因程序终止,都会出现跳号现象。
--
我想超越这平凡的生活,注定我暂时漂泊!
我无法停止我内心的狂热,对未来的执着!
※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.18.238]
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.18.238]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店