`
郑云飞
  • 浏览: 817349 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle动态创建自动增长的序列

 
阅读更多
1.动态创建自动增长的序列:
declare
v_sql varchar2(1000);
v_num number(20):=1;
begin
v_sql:='create sequence sqbs ';
select max(sqb.id)+1 into v_num from sqb;
if v_num is null then v_num :=1;
v_sql:=v_sql||' maxvalue 999999 start with '||v_num ||' increment by 1 nocache';
end if;
execute immediate v_sql;
end;
2--创建序列
create sequence t
--使用序列
select t.nextval from dual --获取下一个序列值
select t.currval from dual --获取当前序列值
drop sequence g --删除序列
alter sequence ttt increment by -3--修改序列
分享到:
评论

相关推荐

    oracle 不用新建序列 重置序列(从1开始增长)

    在Oracle中,通常的做法是创建一个新的序列,但这可能会带来额外的管理工作,尤其是在频繁需要重置序列的场景下。 本文将详细介绍如何在不新建序列的情况下,实现Oracle序列的重置,让其从1开始增长。这种方法通过...

    oracle中的sequence实现主键增长

    总的来说,Oracle中的Sequence提供了一种可靠且灵活的方式来生成序列号,适用于需要自动增长主键的场景。通过合理配置和使用,可以有效避免数据冲突,提高插入数据的效率。在设计数据库时,应根据具体业务需求来决定...

    oracle与SQL server的语法差异总结

    - SQL Server则在表中有一个自动增长列(如 `IDENTITY`),无需单独创建序列对象。 9. **SELECT语法**: - Oracle允许将查询结果集作为一个临时表使用,如 `SELECT * FROM (SELECT * FROM tab1)`,并且有虚表DUAL...

    Oracle经典案例

    示例还涉及了序列(sequence)的概念,通过`create sequence`语句创建了一个名为`sq_sid`的序列,用于自动递增主键值。接着在循环中利用`sq_sid.nextval`为每一条新记录生成唯一的ID,并通过`insert`语句将数据插入到`...

    Oracle与SQLServer的SQL语法差异总结.docx

    Oracle有独立的序列对象,没有自动增长列的概念,而SQL Server则是在表中直接定义自动增长列。在查询语法中,Oracle允许结果集作为临时表使用,且有特殊的虚表dual,而SQL Server没有类似的概念。 总之,Oracle和...

    ORACLE9i_优化设计与系统调整

    §7.2 关于创建多个Oracle实例问题 93 §7.3 Oracle系统安装后的优化基础工作 94 §7.3.1 Oracle系统有关目录所有文件的保护 94 §7.3.2 避免新用户使用默认system系统表空间 94 §7.4 Oracle系统所在服务器的独立性...

    Oracle数据库分区管理.docx

    例如,时间序列数据可能需要按时间自动添加新分区,而动态分区扩展则允许在需要时动态创建新的分区。 通过分区实现信息生命周期管理,Oracle数据库允许在保持数据在线的同时,将其移动到不同的存储层,如使用表压缩...

    Oracle数据库经典学习教程

    - 序列是一种自动增长的数字对象,常用于生成主键值。 - 可以通过CURRVAL和NEXTVAL获取序列的当前值和下一个值。 - **索引** - 索引用于加快数据检索速度,类似于书籍的索引。 - 常见的索引类型包括B树索引、...

    oracle 经典教程

    序列则是一种自动增长的编号生成器,常用于自动生成主键值。 **视图与索引** 视图是对一个或多个表的虚拟表示,它本身不存储数据,但可以通过视图查询数据,简化复杂的查询逻辑。索引则是在表上建立的一种数据结构...

    oracle 10g concepts

    - 当表或索引增长时,Oracle会自动分配新的数据块形成扩展。 - **2.4 段纵览** - 段由一系列的扩展组成,用于存储特定类型的数据库对象,如表、索引等。 #### 第3章:表空间、数据文件和控制文件 - **3.1 表空间...

    .net实现新增数据时编号自动加一

    7. **数据库序列**:Oracle等数据库支持序列对象,可以预先创建一个序列,插入数据时引用该序列,实现自动加一。 8. **事务处理**:确保编号生成和数据插入是原子操作,防止因异常导致的编号重复或丢失。 9. **...

    实验五 索引视图和序列1

    序列可以方便地在插入新记录时提供自动增长的ID。通过ALTER SEQUENCE语句,可以修改序列的属性,比如将S_BookUser的最大值设为1000。在实际应用中,序列通常用于为新插入的记录提供自动分配的唯一ID。实验中创建了一...

    Oracle 笔记.docx

    - 序列:自动增长的数值。 - 同义词:别名,简化对象引用。 - 索引:加速数据检索速度。 - **网络配置**:设置客户端与服务器通信。 - **嵌套表与可变数组**:处理复杂数据结构。 #### 四、PL/SQL部分 - **PL/...

    真实项目中关于主键生成方式的剖析(JPA)

    而Hibernate提供了跨数据库的主键生成策略,例如`native`策略,它会根据底层数据库自动选择合适的主键生成方式(如MySQL的自动增长ID或Oracle的序列)。 在JPA中,通过`@GenericGenerator`注解可以定义主键的生成...

    Oracle数据表分区的策略

    - **数据增长**:考虑数据的增长趋势,确保分区策略能够适应未来的变化。 4. **分区策略** - **范围分区**:基于某个范围值(如日期、数字区间)进行分区,适用于时间序列数据或者具有连续性的数据。 - **列表...

    Ibatis入门级教程

    Ibatis提供了多种主键生成策略,比如`identity`(标识列,适用于自动增长类型)、`sequence`(序列,Oracle常用)和`guid`(全局唯一标识符)。在Oracle环境下,我们通常会创建一个序列对象,然后在映射文件中配置...

    ASP.NET代码生成器学习

    - **通用表与序列管理**(02):引入通用表如序号生成器,用于处理自动增长ID等需求,类似Oracle的序列机制,提供统一的序列管理。 - **数据库访问基础类**(03):定义了一系列通用的数据库操作方法,如连接、查询...

    plsql_Developer_Manual文档

    序列是一种自动增长的数字序列,常用于生成唯一ID。序列定义编辑器可以帮助用户轻松管理序列。 ##### 9.3 同义词定义编辑器 同义词是表或视图的别名,用于简化复杂的对象引用。同义词定义编辑器使创建和管理同义词...

    mybatis-plus-3.0.zip

    4. **主键策略**:MyBatis-Plus 支持多种主键生成策略,包括 Identity(自动增长)、Sequence(序列)、雪花算法等,可以根据不同的数据库类型选择合适的策略。 5. **批量操作**:支持批量插入、更新和删除,可以一...

Global site tag (gtag.js) - Google Analytics