• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > Oracle之序列(主键自增)

Oracle之序列(主键自增)

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了Oracle,序列,主键,自增,Oracle,完成,自动,长等相关知识,希望本文的分享对您有所帮助

在Oracle中完成自动增长的功能,则只能依靠序列完成,所有的自动增长操作,需要用户收工完成处理。 序列的创建格式: CREATE SEQUENCE sequence [INCREMENT BY n][STARTWITH n] [{MAXVALUE n | NOMAXVALUE}] [{MINVALUE n | NOMINVALUE}] [{CYCLE|NOCYCLE}] [

在Oracle中完成自动增长的功能,则只能依靠序列完成,所有的自动增长操作,需要用户收工完成处理。
序列的创建格式:
CREATE SEQUENCE sequence
[INCREMENT BY n][STARTWITH n]
[{MAXVALUE n | NOMAXVALUE}]
[{MINVALUE n | NOMINVALUE}]
[{CYCLE|NOCYCLE}]
[{CACHE n|NOCACHE}] ;
范例:创建一个myseq的序列,验证自动增长的操作。
CREATE SEQUENCE myseq ;
序列创建完成之后,所有的自动增长应该由用户自己处理,所以在序列中提供了一下的两种操作:
nextVal : 学的序列的下一个内容
currVal : 去的序列的当前内容
范例:建立一张以验证序列的操作
CREATE TABLE testseq(
next NUMBER ,
curr NUMBER
) ;
现在向表中添加数据,添加数据的时候需要手工使用序列
范例:使用序列
INSERT INTO testseq(next,curr) VALUES (myseq.nextval,myseq.currval) ;
该操作执行5次。
查询testseq表:
SELECT * FROM testseq ;
可以发现,newVal的内容是种在进行自动增长的操作,而currVal使用取出当前操作的序列结果。
也就是说,现在这种序列,每次增长的幅度是1,也可以修改序列的增长幅度。
每次的增长幅度 INCREMENT BY 长度
范例:
删除序列:
DROP SEQUENCE myseq ;
重新创建序列:
CREATE SEQUENCE myseq INCREMENT BY 2;
再创建表,进行test:
DROP TABLE testseq ;
CREATE TABLE testseq(
next NUMBER ,
curr NUMBER
) ;
插入5个数据,测试:
INSERT INTO testseq(next,curr) VALUES (myseq.nextval,myseq.currval) ;
默认情况下,序列从1开始,那么也可以使用 START WITH 指定其开始位置。
DROP SEQUENCE myseq ;
CREATE SEQUENCE myseq INCREMENT BY 2 STARTWITH 10 ;--从10开始
创建一个序列,让其取固定值在1、3、5、7、9,循环序列。
DROP SEQUENCE myseq ;
CREATE SEQUENCE myseq MAXVALUE 10 INCREMENT BY 2 START WITH 1
CACHE 2 CYCLE;
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 浅析drop user与delete from mysql.user的区别
  • mysql prompt的用法详解
  • 如何使用索引提高查询速度
  • 深入mysql创建自定义函数与存储过程的详解
  • JDBC数据库的使用操作总结
  • MySQL查询优化:LIMIT 1避免全表扫描提高查询效率
  • MySQL与Oracle的语法区别详细对比
  • 有关mysql中ROW_COUNT()的小例子
  • MySQL 百万级分页优化(Mysql千万级快速分页)
  • 从创建数据库到存储过程与用户自定义函数的小感

相关文章

  • 2018-12-05MySQL MMM 高可用解决方案
  • 2018-12-05SQL 合并多行记录的方法总汇
  • 2018-12-05mysql连接查询左连接,右连接,内连接实例详解
  • 2018-12-05mysql之通过配置文件链接数据库的示例详解
  • 2018-12-05mysql创建数据表时指定默认值教程
  • 2018-12-05MySQL之-服务器调优思路(图解)
  • 2018-12-05大数据量下MySQL插入方法的性能比较
  • 2018-12-05MySQL如何查看连接数和连接状态
  • 2018-12-05COnSTANT如何使用?总结COnSTANT实例用法
  • 2017-05-11Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MySQL 实用命令
    • MySql中使用Group By对多个字段进行分组的方法
    • MYSQL不能从远程连接的一个解决方法(s not allowed to connect to this MySQL server)
    • 提高MySQL中InnoDB表BLOB列的存储效率的教程
    • MySql查询时间段的方法
    • MYSQL同步Sqlserver数据库数据
    • 了解sql语句中where和having的区别
    • Mongodb的主从复制使用总结
    • 什么是MongoDB?MongoDB简介
    • 角色与权限如何控制数据表

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有