Oracle的序列操作
来源:互联网 发布:mysql hint 用法 编辑:程序博客网 时间:2024/05/22 05:19
序列
概念:
序列是以有序的方式生成唯一整数值的数据对象(例如,表、视图、触发器、索引都是数据对象),通常用作表的主键或唯一键。序列不占用实际的存储空间,在数据字典中只存储序列的定义描述。
1、创建序列:(1)语法创建
语法格式create sequence sequence_name
Increment by integer
Start with integer;
Increment by:数值递增值,即两个整数之间的间隔,默认值为1.
Start with:序列的起始值
Eg: createsequence s_create
increment by 2
start with 3;
(2)直接点击序列右键新建序列
2、使用序列
使用序列是指使用序列的下面两个属性(也叫伪列)
Netxval:返回序列的下一个值
Currval:返回序列的当前值
注:在序列的初始化的时候必须使用Netxval(意指检索序列的下一个值)
Eg: SELECT no_seq.nextval FROMdual;
初始化之后,就可使用currval来获取当前值。
SQL> SELECT no_seq.currval FROM dual;
例:为主键指定序列编号。
步骤方法:创建表、创建序列、创建触发器、插入数据,最后进行测试。
(1)创建表
SQL> CREATE table Disney
(
id number primary key,
data varchar2(10)
);
(2)创建序列
SQL> CREATE sequence id_seq;
(3)创建触发器
SQL> CREATE or replace trigger bifer_disney_id_pk
beFORe insert
on Disney
FOR each row
BEGIN
SELECT id_seq.nextval into :new.id FROM dual;
END;
放进新的行(new)里的id列里面。
Trigger:触发器 bifer_disney_id_pk:对象名字
(4)插入数据
SQL> INSERT INTO Disney(data) VALUES('Tom');
SQL> INSERT INTO Disney (id,data) VALUES(6,'Jerry');
(5)测试
SQL> SELECT * FROM Disney;
ID DATA
-------------------------------
1 Tom
2 Jerry
3、修改序列
Alter sequence sequence_name
Increment by integer
Start with integer;
4、删除序列
Drop sequence sequence_name;
注:
Drop:是对象的删除(表、视图、触发器、序列等等)
Delete:是记录的删除
- Oracle的序列操作
- DB2,Oracle序列的相关操作
- oracle 表的序列说明以及操作
- oracle序列操作
- oracle 序列操作
- Oracle的五种约束,序列,视图,集合操作
- Oracle表 序列 约束 视图 索引的操作
- Oracle中序列的操作以及使用前对序列的初始化
- Oracle中序列的操作以及使用前对序列的初始化 以ibatis为例
- oracle序列的使用
- oracle 序列的使用
- oracle的序列
- oracle 序列的使用
- oracle的序列
- Oracle的序列
- Oracle的序列
- Oracle序列的使用
- ORACLE序列的作用
- 进程间通信的一个例子
- ifdef/ifndef/extern/struct/static
- 工作中重新封装编写的一系列工具函数(c/c++)
- Matlab 图像处理 形态学 腐蚀 膨胀 开闭运算 连通分量
- 方法一 Java如何判断线程池所有任务是否执行完毕
- Oracle的序列操作
- spring事务传播行为种类
- 安装Kylin
- HDU——5667Sequence(矩阵快速幂+费马小定理应用)
- python(九)模块
- JS实现浏览器全屏和退出全屏
- leetcode---Valid Sudoku
- 349. Intersection of Two Arrays
- C指针操作——把ip字符串转换成ip range字符串