0 0

oracle序列重置问题5

1.想要重置序列,3个sql 放在存储过程中的时候,结果是错误的,但是如果在command window 中 一句句执行 结果就是对的。。。。怎么解决?

2.alter sequence doclog_autoid increment by (select autoid from aa)这个返回数据错误, 改改能实现吗

问题补充:图片截取的不好,

存储过程是
BEGIN

   str1:='select doclog_autoid.nextval from dual';
  str2:='alter sequence doclog_autoid increment by 1';
  str:='alter sequence doclog_autoid increment by 30';
  execute immediate str;
  execute immediate str1;
  execute immediate str2;
END ;

2013年12月05日 17:36
  • 大小: 21.3 KB
目前还没有答案

相关推荐

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

    ### Oracle序列重置方法 首先,我们需要理解Oracle序列的工作原理。序列是由两个主要属性定义的:`INCREMENT BY` 和 `START WITH`。`INCREMENT BY` 定义了序列每次调用时增加的值,默认为1;而`START WITH` 定义了...

    Oracle sequence 重置(失效恢复)

    **Oracle Sequence** 是一种数据库对象,用于生成连续的整数序列。它可以被用来作为表中某一列的自动增长字段,例如主键ID。Sequence的主要优点是简单易用且性能高效。 #### 二、Sequence失效的原因 1. **数据迁移...

    oracle 重置序列从指定数字开始的方法详解

    以下是一些关于如何重置Oracle序列从指定数字开始的方法。 1. **不删除重建方式** 在不删除重建序列的情况下,可以使用PL/SQL动态SQL语句来实现重置。首先,获取序列的当前`nextval`,然后根据目标起始值计算出...

    mysql生成oracle序列

    4. **序列重置逻辑**:在`nextval`函数中,使用了`pow(10, tmp1)`来判断是否达到最大值并重置序列值。这里假设`valuelen`代表序列值的最大位数,但实际应用中可能需要根据具体需求调整逻辑。 通过以上方法,可以在...

    批量修改Oracle序列值的存储过程

    批量修改序列值通常涉及到ALTER SEQUENCE语句,例如将序列重置为特定值: ```sql ALTER SEQUENCE seq_name RESTART WITH new_value; ``` 但是,如果你有大量的序列需要修改,逐个执行ALTER语句会非常繁琐。这时,...

    oracle序列创建、修改、删除

    在本篇中,我们将深入探讨Oracle序列的创建、修改和删除。 ### 1. 序列的创建 创建序列的基本语法如下: ```sql CREATE SEQUENCE sequence_name START WITH n -- 起始值 INCREMENT BY n -- 增量值 MINVALUE n ...

    sqlserver中创建类似oracle序列的存储过程

    - 在实际应用中,可能还需要考虑并发问题,因为多个用户同时调用该存储过程可能会导致序列值重复或跳过。 - 可以考虑使用事务和锁定机制来确保数据的一致性和准确性。 - 另外,为了提高性能,可以考虑使用表变量或...

    重置在线重做日志(迁移)

    这条命令将会创建一个控制文件的备份,并且重置日志文件序列,这意味着所有的日志文件都会被标记为新的序列号。 #### 3. 总结 本指南详细介绍了如何在Oracle数据库中迁移重做日志文件。通过按照上述步骤操作,可以...

    分享ORACLE SEQUENCE跳号总结

    - **序列重置**:如果允许,可以通过`ALTER SEQUENCE RESTART`命令重置序列,但这可能会导致与现有数据冲突。 - **事务管理**:确保事务在提交前不回滚,或者在事务中捕获和处理序列值,以减少跳号的可能性。 - **...

    oracle中设置自增主键参考

    - `NOCYCLE`:当序列达到最大或最小值后不会循环重置。 - `NOCACHE`:禁用缓存机制,每次获取序列值时都直接从数据库中获取。 #### 触发器实现自动填充 为了使主键字段能够自动填充,我们需要创建一个触发器。这个...

    oracle触发器实现主键自动增长

    1. **序列的重置与循环**:如果希望序列值可以循环使用,可以通过设置`CYCLE`选项。如果希望序列值在达到最大值后不再增长,应设置`NOCYCLE`选项。 2. **并发控制**:在高并发环境中,多个用户可能同时尝试获取序列...

    oracle10g课堂练习I(1)

    解除用户帐户的锁定并重置口令 6-9 权限 6-10 系统权限 6-11 对象权限 6-13 使用 ADMIN OPTION 撤销系统权限 6-14 使用 GRANT OPTION 撤销对象权限 6-15 角色的作用 6-16 将权限分配给角色以及将角色分配给...

    oracle sequence语句重置方介绍

    在开发过程中,我们有时需要重置Oracle Sequence,使其从特定值开始重新计数,比如从1开始。以下将详细介绍两种重置Oracle Sequence的方法。 方法一: ```sql DECLARE n NUMBER(10); tsql VARCHAR2(100); p_...

    《Oracle 技巧》

    - 序列可以在多个表或多个字段中使用,但需谨慎处理并发问题,以避免在高并发环境下出现序列值的重复。 - 缓存序列值可以提高性能,但可能会导致在系统崩溃后丢失未使用的序列值。 - 序列的递增值可以根据业务...

    oracle笔试

    总的来说,Oracle笔试涵盖了数据库逻辑和物理结构、安全性、网络配置、数据库实例状态管理、表空间操作、用户和角色管理、序列、PL/SQL以及触发器等多个方面,备考者需要全面理解和熟练掌握这些知识点,以便在实际...

    oracle使用教程

    “Oracle序列”是数据库中用于生成唯一标识的关键组件。序列可以自动地生成递增的整数,通常用作主键。创建序列、使用序列以及管理序列(如重置、缓存和跳跃值)是数据库设计中常见的操作。例如,`CREATE SEQUENCE`...

    oracle 主键自增相关命令

    - 为了避免性能问题,一些大型系统可能选择缓存序列值,这可以通过删除`NOCACHE`选项实现,但可能导致数据丢失的风险,如果系统崩溃或数据库重启。 理解并熟练掌握这些知识点,可以帮助初学者在Oracle数据库中顺利...

Global site tag (gtag.js) - Google Analytics