ORACLE——序列SEQUENCE

oracle 序列的概念与使用步骤
一、概念
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 )”);
 

猜你喜欢

转载自blog.csdn.net/u010622242/article/details/81077603