create sequence name increment by x //x为增长间隔 start with x //x为初始值 maxvalue x //x为最大值 minvalue x //x为最小值 cycle //循环使用,到达最大值或者最小值时,从新建立对象 cache x //制定缓存序列值的个数
|
1、Create Sequence
你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限,
CREATE SEQUENCE emp_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10;
一旦定义了emp_sequence,你就可以用CURRVAL,NEXTVAL
CURRVAL=返回 sequence的当前值
NEXTVAL=增加sequence的值,然后返回 sequence 值
比如:
emp_sequence.CURRVAL
emp_sequence.NEXTVAL
可以使用sequence的地方:
- 不包含子查询、snapshot、VIEW的 SELECT 语句
- INSERT语句的子查询中
- NSERT语句的VALUES中
- UPDATE 的 SET中
可以看如下例子:
INSERT INTO emp VALUES
(empseq.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20);
SELECT empseq.currval FROM DUAL;
其实序列号发生器是和表没有任何关系的独立对象,他的每一次访问都会发生变化,这样就可以保证它能满足多用户的需求,我们也可以根据这个序列号发生器自己定义有特点的序列号。但是我们要保证每一次插入的记录都有序列号,要做一些容错方面的处理。
固定长度序列号可以用下面的语句:
SELECT TO_CHAR(EMP_SEQUENCE.NEXTVAL,'099999999999') FROM DUAL;
分享到:
相关推荐
在实际操作中,用户可以使用Oracle的工具,如SQL*Plus或企业管理器,来查看和管理这些方案对象,以实现对数据库的有效控制和优化。了解和熟练掌握这些对象及其管理方法,对于Oracle数据库管理员和开发人员来说至关...
这种部署方法适用于那些需要高可用性和数据完整性的应用场景,尤其是涉及Oracle数据库等关键业务系统的情况。此外,通过对每个步骤的细致操作,还可以提高整个系统的稳定性和可靠性,为企业级用户提供更加安全可靠的...
JBuilder是Sun Microsystems公司(后被Oracle收购)推出的一款专为Java开发者设计的强大集成开发环境(IDE),它提供了丰富的功能来帮助开发者更高效地编写、调试和部署Java应用程序。下面将对JBuilder9的注册过程...
#### 一、软件介绍 PL/SQL Developer 是一款专...总之,PL/SQL Developer 13 是一款功能强大且易用的 Oracle 开发工具,掌握其使用方法对于提高数据库开发效率至关重要。希望以上内容能帮助您更好地理解和使用该软件。
- **Oracle提供的死锁检测器**:定期检查数据库状态,一旦发现死锁立即采取措施解决。 #### 五、预防SQL死锁的最佳实践 1. **事务设计**: - **最小化事务持续时间**:尽快提交或回滚事务,减少持有锁的时间。 ...
1. 使用RMAN(恢复管理器)或SQL*Plus连接到数据库实例。 2. 如果有备份,恢复数据文件到最新状态:`RESTORE DATABASE;` 3. 使用`RECOVER DATABASE UNTIL TIME 'yyyy-mm-ddThh24:mi:ss'`指定时间点,确保在日志被...
Kettle支持多种数据库,如MySQL、Oracle、SQL Server等,可以通过插件库中的连接器配置。 2. **识别变化**:使用特殊的插件或技术来确定哪些记录自上次抽取后发生了变化。这可以通过时间戳字段、序列号或其他数据库...
- **监听器**:监听特定事件的发生。 #### JSP (JavaServer Pages) - **JSP的工作原理**:将HTML、Java代码和JSP指令结合在一起。 - **JSP中的元素**:包括脚本、声明、表达式等。 - **JSP注释**:在JSP页面中添加...
- 在某些情况下,操作系统识别的共享磁盘的磁盘号可能会发生变化,此时可以勾选“自适应磁盘号变化”以避免问题发生。 - 在资源区域,指定共享磁盘分区的驱动器号(分区盘符)。 - 点击“确认”,完成卷资源配置...
30. **STL内存分配**:STL(Standard Template Library)中的容器如vector、list等,使用内存分配器(allocator)来管理内存,用户可以选择默认分配器或自定义分配器。 以上是针对今日头条校园招聘C++研发岗位的...