加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

数据表的字段自增长-sequence

发布时间:2020-12-12 15:21:29 所属栏目:MsSql教程 来源:网络整理
导读:数据表的字段自增长 -sequence ? ? MySQL 、 SQLServer 这些数据库的字段都有自增长属性, oracle 则用另一种方式实现字段自增长的,这就是 sequence 对象。 ? 创建 sequence CREATE?SEQUENCE? 序列名称 ??? ? INCREMENT?BY?1?--? 每次加几个 ???? START?WIT

数据表的字段自增长-sequence

?

? MySQL SQLServer 这些数据库的字段都有自增长属性, oracle 则用另一种方式实现字段自增长的,这就是 sequence 对象。 ? 创建 sequence
CREATE?SEQUENCE? 序列名称
??? ?
INCREMENT?BY?1?--? 每次加几个
????
START?WITH?1????--? 1 开始计数
??? ?
NOMAXVALUE??????--? 不设置最大值
???
NOCYCLE?????????--? 一直累加,不循环
???
CACHE?10????????--? 缓存 10 个序列
?? ?
NOORDER;?????-- 并行时取得序列的顺序 ? 使用 sequence
INSERT INTO emp VALUES
(
empseq.nextval ,'LEWIS','CLERK',7902,SYSDATE,1200,NULL,20);
SELECT
empseq.currval FROM DUAL; ? 不能在表字段默认值 (DEFAULT) 中使用顺列号 ( 某某 sequence.Next )
要想在增加记录时,自动取得自增量,需使用触发器。例如:

Create?SEQUENCE?SEQUENCE名称 ??

MINVALUE??? 1 ??

MAXVALUE ?1.0E28 ??

Start?With?? 1 ??

INCREMENT?By? ?1 ??

CACHE? ?20;

Create?or?Replace?Trigger?触发器名 ??

????Before?Insert?On?表 ??

????For?Each?Row ??

Begin??

????Select ?SEQUENCE名称.Nextval? Into ?:New.表的自增字段名 ?From? DUAL; ??

End;?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读