oracle 序列的概念与使用步骤
转载自:http://www.worlduc.com/blog2012.aspx?bid=20342458
一、概念
1、 序列: 是oacle提供的用于产生一系列唯一数字的数据库对象。主要用于提供主键值。
2、 创建序列:
创建序列的语法
CREATE SEQUENCE sequence //创建序列名称
[INCREMENT BY n] //递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是
[START WITH n] //开始的值,递增默认是minvalue 递减是maxvalue
[{MAXVALUE n | NOMAXVALUE}] //最大值
[{MINVALUE n | NOMINVALUE}] //最小值
[{CYCLE | NOCYCLE}] //循环/不循环
[{CACHE n | NOCACHE}];//分配并存入到内存中
其中:
Create 创建 Sequence 序列 seqEmop 序列名称
Increment by 步长
Stat with 1 开始值
Maxvalue 最大值
Minvalue 最小值
NEXTVAL 返回序列中下一个有效的值,任何用户都可以引用
CURRVAL 中存放序列的当前值
NEXTVAL 应在 CURRVAL 之前指定 ,二者应同时有效
3、 例子
Create sequence seqEmp increment by 1 start with 1
4、 访问
Select seqEmp.nextval from dual;
Select seqEmp.currval from dual;
5、 删除序列
使用DROP SEQUENCE 语句删除序列
删除之后,序列不能再次被引用
二、使用步骤
----------------------------数据库设计中--------------------------------------------------
为每个需要自动增长列的表建立一个序列
例如:
--表student
create table student
(
id integer primary key,
stuName varchar2(10),
stupwd varchar2(10)
);
--序列 seq_student
create sequence seq_student
increment by 1
start with 1;
-----------------------------------------------------------------------------------------
--表 course
create table course
(
id integer primary key,
cNo varchar2(10),
cName varchar2(10)
);
--序列 seq_course
create sequence seq_course
increment by 1
start with 1;
----------------------------------- 在后台代码中为student表插入数据------------------------------
1、 页面(学生注册 stuReg.jsp)
用户名: |
|
|
密码: |
|
|
提交 |
取消 |
2、 后台代码
//连接数据库
//………..此处省略好多字
String s1 = 从用户框中获取输入的内容(“Tom”)
String s2 = 从密码框中获取输入的内容(“123”)
// stmt.execute(“insert into student values(seq_student.nextval , s1 , s2 )”);
----------------------------------- 在后台代码中为course表插入数据------------------------------
1、页面(课程录入 course.jsp)
课程编号: |
|
|
课程名称: |
|
|
提交 |
取消 |
2、后台代码
//连接数据库
//………..此处省略好多字
String c1 = 从课程编号框中获取输入的内容(“001”)
String c2 = 从课程名称框中获取输入的内容(“Oracle数据库”)
// stmt.execute(“insert into course values(seq_course.nextval , c1 , c2 )”);
oracle 序列的概念与使用步骤相关推荐
- Oracle序列的概念、创建和使用
sequence概念及作用 sequence是用来在多用户环境下产生唯一整数的数据库对象.序列产生器顺序生成数字,它可用于自动生成主键值,并能协调多行或者多表的主键操 作.没有sequence,顺序的 ...
- oracle 查询公有同义词,Oracle序列(sequence),OracleRUNNUM和Oracle同义词(synonyms)
一团网资讯 一团资讯 > oracle > Oracle序列(sequence),OracleRUNNUM和Oracle同义词(synonyms)... Oracle序列(sequence ...
- Oracle 备份恢复概念
--====================== -- Oracle 备份恢复概念 --====================== 数据库维护中,备份或恢复是重中之重的问题.尽管很多时候数据库系统运 ...
- oracle12测试骤,Oracle中SQL语句解析的步骤
我们都知道在Oracle中每条SQL语句在执行之前都需要经过解析,这里面又分为软解析和硬解析.那么这两种解析有何不同之处呢?它们又分别是如何进行解析呢?Oracle内部解析的步骤又是如何进行的呢?下面 ...
- sql oracle 自增长字段,Oracle添加自增长字段方法步骤
CREATE SEQUENCE ZH_ALARM_INFO_SEQ--自动增长列 INCREMENT BY 1 -- 每次加几个 START WITH 1 -- 从1开始计数 NOMAXVALUE - ...
- oracle自增列问题i,Oracle序列 和 SQL SERVER 自增列的问题-oracle
现对一表进行如下操作,主键为ID 1.定义并启动一个事务 2.使用com智能指针打开表 _RecordsetPtr pRecPtr = m_pAdoDb->OpenTable(strSQL,ad ...
- oracle 序列 清除,Oracle序列(Sequence)创建、使用、修改、删除
Oracle序列(Sequence)创建.使用.修改.删除 一: 创建序列: 语法: CREATE SEQUENCE sequence_name [START WITH num] [INCREMENT ...
- 如何将oracle数据库中的表结构导入到sqlserver中,Oracle转换成SqlServer数据库的步骤...
1 背景 ITM系统目前支持MysqL.Oracle数据库,由于现在需要和CA产品进行结合,用CA产品的采集功能进行数据采集,因此需要使用CA产品的sqlServer数据库,为了使得系统支持sqlse ...
- Oracle 序列的创建和使用
Oracle 序列的创建和使用 创建序列 create sequence seq_a minvalue 1000 maxvalue 99999999 start with 1000 increment ...
最新文章
- OpenCL,OpenGL编译
- C++11之基于范围的for循环
- spring 测试demo乱码_spring框架的入门学习:AOP和面向切面的事务
- windows driver 分配内存
- erlang精要(3)-变量、原子与布尔代数
- sql server2008禁用远程连接
- 4-数据结构-串的学习
- 用ThreadLocal代替单例模式synchronized的使用
- linux modprobe.conf怎么不见了—-CentOS 6
- Shiro面试题总结
- 简信CRM:手机CRM软件的应用好处有哪些?
- 清华博士生被开除:告诉孩子,不吃学习的苦,就要吃生活的苦
- java中复数类中相加,复数运算的JAVA类
- 为什么叫Windows 7?
- 【Windows】如何删除磁盘管理中的恢复分区
- C语言永真循环,c语言第六章总结 循环语句
- 9 年代码生涯,清华女硕士为何选择回长发展?
- SequoiaDB v5.2 学习笔记
- 软件工程环形复杂度计算方法有哪些_面向C程序的环形复杂度自动化计算方法...
- 【科研技巧】简单的在Office Word 2019中设置页脚的页码从指定页(正文)开始
热门文章
- Java集合:什么是Java集合?
- Linux下的一些简单网络配置命令介绍
- 【数学】Floating-Point Hazard
- UVA - 1368 ​​​​​​​DNA Consensus String
- PowerDesigner15连接Oracle数据库并导出Oracle的表结构
- 软件研发成本估算过程之估算软件规模概述
- 左右xcode的重构选项的一些理解
- Script:List OBJECT DEPENDENT
- 二鸟在林不如一鸟在手
- 【代码收集】提前载入贴图