Sequence在Oracle中的使用
Oracle中,当需要建立一个自增字段时,需要用到sequence。sequence也可以在mysql中使用,但是有些差别,日后再补充,先把oracle中sequence的基本使用总结一下,方便日后查阅。
1、创建sequence:
- create sequence SEQ_ON_USER
- minvalue 1
- maxvalue 999999999999999999999999999
- start with 1
- increment by 1
- nocache;
说明:
minvalue:序列最小值
maxvalue/nomaxvalue:序列最大值/没有最大值
start with 1:序列从1开始
increment by 1:每次增加1
cache/nocache:nocache不缓存。cache缓存。开启缓存,效率高,只是如果数据库宕机了,缓存丢失,会出现序列跳号情况。
2、查看已有sequence:
- select * from user_sequences;
3、删除指定sequence:
- DROP SEQUENCE SEQ_ON_USER;
4、查看指定sequence的当前值:
两种方式:
- select last_number from user_sequences wheresequence_name='SEQ_ON_USER';
- select SEQ_ON_USER.nextval from sys.dual;
5、创建触发器使用sequence设置主键自动插入。
- create or replace trigger "SEQ_ON_USER_GENERATOR" before
- insert on databasename1.T_USER for each row
- declare
- mid number,
- begin
- select SEQ_ON_USER.nextval into mid from dual;
- :new.id:=mid;
- end
- create trigger SEQ_ON_USER_Trigger
- before insert on T_USER for each row
- begin
- select SEQ_ON_USER.nextval into :new.id from dual;
- end SEQ_ON_USER_Trigger;
6、代码中使用sequence.nextval插入主键值。
Sequence在Oracle中的使用的更多相关文章
- oracle中sequence(自增序号)的用法
转载:https://www.cnblogs.com/liuzy2014/p/5794928.html 在oracle中sequence就是序号,每次取的时候它会自动增加.sequence与表没有关系 ...
- oracle中创建sequence指定起始值
oracle中创建sequence指定起始值 DECLARE V_Area_Id NUMBER; BEGIN SELECT MAX(T.Area_Id)+10 INTO V_Area_Id FROM ...
- 在Oracle中使用Entity Framework 6 CodeFirst
项目中需要将系统从SQLServer数据库迁移到Oracle上.由于原大部分数据访问操作都是通过包装了Entity Framework的统一访问入口实现的,所以需要研究Entity Framework ...
- Oracle 中的作业队列和队列调度
一,启动执行作业的进程 在 Oracle 中,是使用 “作业队列协调进程(CJQ0)” 这个协调数据库实例的作业队列的后台进程,来监视作业队列中的作业表(JOB$),并启动作业队列进程(J ...
- oracle中imp命令详解 .
转自http://www.cnblogs.com/songdavid/articles/2435439.html oracle中imp命令详解 Oracle的导入实用程序(Import utility ...
- Oracle中的自动增长字段
Oracle中的自动增长字段 Oracle 中不像MYSQL 和MSSQLServer 中那样指定一个列为自动增长列的方式,不过在Oracle中可以通过SEQUENCE序列来实现自动增长字段. 在Or ...
- oracle中的数据对象
oracle中的数据对象有表.视图.索引.序列等 表的相关操作 1.创建表 方式一: 方式二:create table person( create table person1 id number(1 ...
- oracle中的dual表详解
oracle中的dual表详解 1.DUAL表的用途 Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中 --查看当前连接用户 SQL> s ...
- oracle中有关用户、角色的一些概念。
oracle中的每个用户对应一个单独的方案(schema),方案的名字与用户名一样,方案中包含很多数据对象,表,视图,触发器,存储过程等元素. oracle中管理数据库的角色有sys,system,数 ...
随机推荐
- 為你的文件夾添加“使用CMD命令打開”菜單
最近在項目中,經常使用要使用一些python命令,要打開cmd窗口,再pushd或cd切換到某個文件夾,相當麻煩.於是想,何不在“文件夾”中添加右鍵“pushd”命令呢? 有了目的性,一切似乎就變得簡 ...
- curl请求指定host ip(指定域名解析的内网某ip)
域名www.test.com解析内部多台ip $httpHeader = array('Host: www.test.com');$url = "10.17.2.245/xxx/xxx/t. ...
- [JSOI2015]最小表示
题目大意:尽可能多地去掉一个有向无环图上的边,使得图的连通性不变. 思路:拓扑排序,然后倒序求出每个结点到出度为$0$的点的距离$d$,再倒序遍历每一个点$x$,以$d$为关键字对其出边降序排序,尝试 ...
- 一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?
分为4个步骤: 1) 当发送一个 URL 请求时,不管这个 URL 是 Web 页面的 URL 还是 Web 页面上每个资源的 URL,浏览器都会开启一个线程来处理这个请求,同时在远程 DNS 服务 ...
- Slickflow.NET 开源工作流引擎基础介绍(八) -- 自动化任务调度实现介绍
前言:审批流程中常见的都是人工类型任务,但是也会有一些自动化的任务需要定时触发.因此,引擎框架中需要解决掉两个问题:选择合适的任务调度框架,集成新的任务调度模块. 1. 任务调度框架选择 Hangfi ...
- C# ie通过打印控件点打印,总是弹出另存为xps的对话框
用的是lodop打印控件,点打印后,总是弹出另存为xps的对话框,后来在网上查到可能是把windows自带的Microsoft XPS Document Writer设为默认打印机的原因. 但现在没有 ...
- CSDN博客的积分计算方法和博客排名规律
开通博客一段时间了,近期莫名其妙得获得"持之以恒"的勋章,看着日益增长的积分,既兴奋又好奇.本人对CSDN博客积分的计算方法非常疑惑,也不知当中怎么回事,好奇度娘一番,并结合CSD ...
- Snmp学习总结(四)——WinServer2003安装和配置SNMP
一.安装SNMP 今天讲解一下在WinServer2003安装和配置SNMP,具体操作步骤如下: 找到[控制面板]→[添加或删除程序]
- svn : Can not Parse lock / entries hashfile错误解决办法
svn服务器死机重启之后,锁定文件的时候出下面的提示: Malformed file svn: Can't parse lock/entries hashfile '/data/svn/svnroot ...
- Windows Phone本地数据库(SQLCE):10、创建数据库(翻译) (转)
这是“windows phone mango本地数据库(sqlce)”系列短片文章的第十篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知 ...