PL/SQL序列
来源: 作者: 出处:综艺读书 2007-07-15关 键 词:
序列是Oracle 9i提供的用于按照设定的规则自动产生数据的方案对象。在某些数据表的结构中,有些字段需要这种特性。比如,对于某个学生数据表的学号关键字段,用户可以希望在录入数据时,能够自动在上一个记录的学号字段上自动加1等。由于Oracle 9i提供的16种基本数据类型并没有这样的功能,可以通过序列方案对象来实现。
序列的创建
下面介绍在【企业管理器】中如何创建序列。
(1)在【企倒芾砥鳌恐醒≡瘛緈yoracle.mynet】/【方案】/【序列】选项,单击鼠标右键,在出现的快捷菜单里选择【创建】选项,如图9.48所示。
·Oracle导出备份和导入恢复自动产生sql源
·Hack.THCsql
·SQL语法参考手册(SQL)
·ms sql删除重复的记录
·三 php与XML、XSLT、Mysql的结合运用,下
·PHP编程之高级技巧——利用Mysql函数
·很久以前的一个sql面试题及答案.
·Transact SQL 常用语句以及函数
·用SQL更新数据
·SQL Server连接失败错误分析与排除
·Hack.THCsql
·SQL语法参考手册(SQL)
·ms sql删除重复的记录
·三 php与XML、XSLT、Mysql的结合运用,下
·PHP编程之高级技巧——利用Mysql函数
·很久以前的一个sql面试题及答案.
·Transact SQL 常用语句以及函数
·用SQL更新数据
·SQL Server连接失败错误分析与排除
(2)出现如图9.49所示的创建序列的【一般信息】选项卡。
在【名称】文本框里输入待定义的序列的名称“TEMPSEQUENCE”。
在【方案】下拉列表框里选择序列所属的用户名“SCOTT”。
序列【类型】参数有两个选项。若选择【升序】单选钮,则表示将创建从初始值向最大值递增的序列,这是创建序列时的默认设置;若选择【降序】单选钮,则表示将创建从初始值向最小值递减的序列。
对【值】可以进行设置的参数如下。
在【最小值】文本框里设置序列允许的最小值。创建序列时该字段最初为空。如果单击【创建】按钮时该字段为空,则对升序序列使用默认值 1,而对降序序列使用默认值 -1026。
在【最大值】文本框里设置序列允许的最大值。创建序列时该字段最初为空。如果单击【创建】按钮后该字段为空,则将对升序序列使用默认值 1027,而对降序序列使用默认值-1。
在【时间间隔】文本框里设置递增序列递增的间隔数值(升序序列)或递减序列递减的间隔数值(降序序列)。创建序列时该字段最初为空,如果单击【创建】按钮后该字段为空,将使用默认值1,该字段只能为正整数。
在【初始值】文本框里设置序列的起始值。如果单击【创建】按钮后该字段为空,对升序序列将使用该序列默认的最小值,对降序序列将使用该序列默认的最大值。
对【选项】可以设置的参数如下。
若选择【循环值】复选框,则表示指定在达到序列最小值或最大值之后,序列应继续生成值。对升序序列来说,在达到最大值后将生成最小值。对降序序列来说,在达到最小值后将生成最大值。如果未选择该复选框,序列将在达到最小值或最大值后停止生成任何值。默认情况下是未选择状态。
若选择【排序值】复选框,则指定序列号要按请求次序生成,默认情况下是未选择状态。
在【高速缓存】中设置由数据库预分配并存储的值的数目参数。若选择【默认值】单选钮,则表示将设置默认值为 20,默认情况下选择此选项;若选择【无高速缓存】单选钮,则表示指定不预分配序列值;若选择【大小】单选钮,则表示在文本框里输入可接受的值,最小值为2,对循环序列来说,该值必须小于循环中值的个数。如果序列能够生成的值数的上限小于高速缓存大小,则高速缓存大小将自动改换为该上限数。
完成设置后单击
按钮。(3)成功创建序列后,出现如图9.50所示界面。单击“确定”按钮。

(3)读者也可以在【SQLPlus Worksheet】中执行下列SQL程序创建序列。
―――――――――――――――――――――――――――――――――――――
CREATE SEQUENCE "SCOTT"."TEMPSEQUENCE"
INCREMENT BY 1 START WITH 1
MAXVALUE 1.0E28 MINVALUE 1
NOCYCLE CACHE 20 NOORDER
―――――――――――――――――――――――――――――――――――――
【配套程序位置】:第9章\ createsequence.sql。
序列的使用
下面介绍在向数据表中插入数据时如何使用序列。
(1)首先为实例建立一个数据表“SCOTT.SEQUENCE_TABLE”,为简化起见,该数据表仅包含一个类型为“NUMBER”的数据列“NO”。
在如图9.51所示的创建表的【一般信息】选项卡中进行如下设置。
在【名称】文本框中输入“SEQUENCE_TABLE”。
在【方案】下拉列表框中选择“SCOTT”。
在【表空间】下拉列表框中选择“USERS”。
在【名称】单元格中输入“NO”,在【数据类型】下拉列表框单元格中选择“NUMBER”。
完成设置后单击
按钮。
(2)读者也可以在【SQLPlus Worksheet】中执行下列SQL代码创建数据表“SCOTT.SEQUENCE_TABLE”。
―――――――――――――――――――――――――――――――――――――
CREATE TABLE "SCOTT"."SEQUENCE_TABLE" ("NO" NUMBER(10) NOT NULL)
TABLESPACE "USERS"
―――――――――――――――――――――――――――――――――――――
【配套程序位置】:第9章\ createsequencetable.sql。
(3)在插入新的记录时,使用刚创建的“TEMPSEQUENCE”序列来自动产生“NO”数据列的值。在【SQLPlus Worksheet】里执行下面的SQL代码,执行的结果如图9.52所示。
―――――――――――――――――――――――――――――――――――――
INSERT INTO SCOTT.SEQUENCE_TABLE(NO)
VALUES(SCOTT.TEMPSEQUENCE.NEXTVAL);
―――――――――――――――――――――――――――――――――――――
【配套程序位置】:第9章\ insertsequencetable.sql。
“SCOTT.TEMPSEQUENCE.NEXTVAL”表分配下一个惟一的、可用的序列号。
执行“SCOTT.TEMPSEQUENCE.NEXTVAL”后,可以使用“SCOTT.TEMPSEQUENCE. CURRVAL”来标识上一个已经存储的序列值。
(4)在【SQLPlus Worksheet】中可以执行查询数据表“SCOTT.SEQUENCE_TABLE”数据的语句。执行结果如图9.53所示,表明序列“SCOTT.SEQUENCE”产生的值已经成功录入数据表中。
―――――――――――――――――――――――――――――――――――――
select * from scott.sequence_table;
―――――――――――――――――――――――――――――――――――――
【配套程序位置】:第9章\ selectsequencetable.sql。
(图片较大,请拉动滚动条观看)
序列的删除
下面介绍在【企业管理器】中如何删除序列。
(1)在创建好的序列“SEQUENCE1”上用单击鼠标右键,在出现的快捷菜单里选择【移去】选项,如图9.54所示。

(2)出现如图9.55所示的【删除序列确认】界面,单击
按钮。
相关图文阅读
频道图文推荐
相关专题
热点标签:
·PL/SQL序列 (14842次浏览)
·Oracle初学者必知的100个问题 (10706次浏览)
·新手必读:Oracle数据库操作全接触 (39次浏览)
·Oracle存储过程编写经验和优化措施 (23次浏览)
·网友经验:学习oracle快速入门随笔 (22次浏览)
·如何共享Oracle数据库身份空间 (14次浏览)
·Oracle数据库删除重复记录的方法 (12次浏览)
·Oracle10g两个监听进程的故障 (11次浏览)
·虚拟机RedHatLinux9安装Oralce9i全过程 (9次浏览)
·oracle数据库限制返回的记录数问题 (8次浏览)
·Oracle初学者必知的100个问题 (10706次浏览)
·新手必读:Oracle数据库操作全接触 (39次浏览)
·Oracle存储过程编写经验和优化措施 (23次浏览)
·网友经验:学习oracle快速入门随笔 (22次浏览)
·如何共享Oracle数据库身份空间 (14次浏览)
·Oracle数据库删除重复记录的方法 (12次浏览)
·Oracle10g两个监听进程的故障 (11次浏览)
·虚拟机RedHatLinux9安装Oralce9i全过程 (9次浏览)
·oracle数据库限制返回的记录数问题 (8次浏览)
·PL/SQL序列 (14842次浏览)
·Oracle初学者必知的100个问题 (10706次浏览)
·详细介绍ORACLE sqlplus命令 (187次浏览)
·快速掌握Oracle数据库游标的使用方法 (71次浏览)
·介绍几个基本的 SQLPLUS 命令 (69次浏览)
·使用一条SQL语句删除表中重复记录 (57次浏览)
·数据库开发者常犯的十大错误,你有吗? (55次浏览)
·如何通过实例配置Oracle监听器 (54次浏览)
·如何快速成为高级数据库人才 (45次浏览)
·关于oracle存储过程的若干问题备忘 (42次浏览)
·Oracle初学者必知的100个问题 (10706次浏览)
·详细介绍ORACLE sqlplus命令 (187次浏览)
·快速掌握Oracle数据库游标的使用方法 (71次浏览)
·介绍几个基本的 SQLPLUS 命令 (69次浏览)
·使用一条SQL语句删除表中重复记录 (57次浏览)
·数据库开发者常犯的十大错误,你有吗? (55次浏览)
·如何通过实例配置Oracle监听器 (54次浏览)
·如何快速成为高级数据库人才 (45次浏览)
·关于oracle存储过程的若干问题备忘 (42次浏览)
·PL/SQL序列 (14842次浏览)
·Oracle初学者必知的100个问题 (10706次浏览)
·开启企业殿堂的钥匙 Oracle服务器的安装 (427次浏览)
·Oracle体系结构:内存结构和进程结构 (378次浏览)
·ORACLE的客户端如何连接到数据库 (372次浏览)
·Oracle数据库监听配置 (279次浏览)
·八个学习点帮助你全面认识Oracle数据库 (274次浏览)
·Oracle主要的配置文件解释 (234次浏览)
·oracle下导出某用户所有表的方法 (203次浏览)
·Oracle数据库数据锁定机制全面解析 (203次浏览)
·Oracle初学者必知的100个问题 (10706次浏览)
·开启企业殿堂的钥匙 Oracle服务器的安装 (427次浏览)
·Oracle体系结构:内存结构和进程结构 (378次浏览)
·ORACLE的客户端如何连接到数据库 (372次浏览)
·Oracle数据库监听配置 (279次浏览)
·八个学习点帮助你全面认识Oracle数据库 (274次浏览)
·Oracle主要的配置文件解释 (234次浏览)
·oracle下导出某用户所有表的方法 (203次浏览)
·Oracle数据库数据锁定机制全面解析 (203次浏览)
最新技术文档
·Oracle初学者必知的100个问题 07-15
·PL/SQL序列 07-15
·PB内置ORACLE数据库接口的使用方法 07-14
·Oracle 9i LogMiner工具使用说明 07-13
·数据库 Oracle 11g 正式发布 07-12
·oracle 存储过程的基本语法 07-12
·ORACLE数据库的基本语法集锦 07-12
·Oracle 11g数据库将上市 07-12
·ORACLE数据库进程简介 07-11
·详细讲解Oracle数据库的结构组件 07-11
·PL/SQL序列 07-15
·PB内置ORACLE数据库接口的使用方法 07-14
·Oracle 9i LogMiner工具使用说明 07-13
·数据库 Oracle 11g 正式发布 07-12
·oracle 存储过程的基本语法 07-12
·ORACLE数据库的基本语法集锦 07-12
·Oracle 11g数据库将上市 07-12
·ORACLE数据库进程简介 07-11
·详细讲解Oracle数据库的结构组件 07-11
站内各频道最新更新文档
站内最新制作专题
|
|||
| ·ACDSEE专题教程-下载使用 ·迅雷专题教程-下载使用 ·Windows XP频道 ·Windows Vista频道 ·Windows 2000频道 ·win2003频道 ·Freebsd频道 ·Oracle频道 |
·Linux频道 ·Windows频道 ·邮件服务器专题 ·协议大全 ·数据恢复指南教程 ·FreeBSD使用教程 ·Linux数据库宝典 ·Linux基础知识 |
||
热门关键字导读
站内频道文章精选
| · 秘密:Vista隐蔽的动态屏保 · 腾讯开发新电子宠物--QQ熊 · 惠普否认2999元PC有价无货 |
· 驱逐Win系统“流氓”文件 · WinXP中获取未使用的IP地址 · 尝试format C:格式化硬盘? |
| · 在DOS下恢复回收站中的文件 · 拯救WinXP崩溃的救命稻草 · Linux系统中超级权限的应用 |
· 搜狗PK谷歌:谁能代言拼... · 昨日重现,一键GHOST轻松.. · 实现Web迅雷在空闲时杀毒 |
| · AVIFile函数制做AVI文件 · VC中链接动态链接库的方法 · 熊猫烧香核心源码(Delphi) |
· DateDiff函数祥解 · JavaScript去除空格的三种 · js效果 图片加载进度实时.. |
| · SQL Server数据库优化方案 · Oracle的初学者入门心得 · JSP连接Mysql数据库 |
· Photoshop为美女做艺术处理 · 用Freehand创建发光字特效 · 设计自己的个性QQ动态表情 |
百度推荐,商机无限
搜索您感兴趣的内容




