`
xiaotian_ls
  • 浏览: 308175 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

sequence与会话有关--oracle一个比较烂的特性

阅读更多

如果刚刚打开一个会话 ,例如用PL/SQL developer打开一个command窗口
执行一个
SQL> create sequence seq_test_id start with 1;

Sequence created

SQL> select seq_test_id.currval from dual;

select seq_test_id.currval from dual

ORA-08002: sequence SEQ_TEST_ID.CURRVAL is not yet defined in this session

这时会告诉你 sequence SEQ_TEST_ID.CURRVAL is not yet defined in this session
显然SEQ_TEST_ID当前是存在的,而其sequence对象应该也和session无关.


如何解决这个问题 呢 ??
只需要执行
SQL> select seq_test_id.nextval from dual;

   NEXTVAL
----------
         1

SQL> select seq_test_id.currval from dual;

   CURRVAL
----------
         1

原来在查看sequence对象的currval值的时候,必须先要调用它的nextval,实在是没道理的很把,可oracle就是如此??
oracle乐于无端增加学习成本阿 /呵呵

只要新打开一个command的窗口,也就会有类似问题,所以记住这个特性就够啦

oracle的错误码也有官方表达

ORA-08002: sequence string.CURRVAL is not yet defined in this session
Cause: sequence CURRVAL has been selected before sequence NEXTVAL
Action: select NEXTVAL from the sequence before selecting CURRVAL


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1446746

 

分享到:
评论

相关推荐

    Oracle 9i10g 数据库管理详细

    其中,Oracle 9i/10g 的应用服务器是一个关键组件,它提供了Web服务、门户、身份验证等功能。 - **产品系列**: - **Oracle Standard Edition**:适合中小企业使用,提供基本的数据库功能。 - **Oracle ...

    Oracle 19c和20c新特性解密.pptx

    Oracle 19c和20c是Oracle数据库的两个重要版本,它们引入了许多新特性以提升性能、可扩展性和易用性。以下是这些版本的主要新特性详解: **Oracle 18c新特性** 1. **高效性能:右向增长索引分裂竞争优化** - 右向...

    ORACLE 合辑

    - 在Oracle中,NULL与其他任何值进行比较都会得到未知结果。 **空值的生成:** - 直接赋值:`column_name IS NULL`。 - 默认值:在创建表时指定某列的默认值为NULL。 **空值的测试:** - 使用`IS NULL`和`IS NOT ...

    达内-ORACLE学习笔记

    ### Oracle数据库中常用的数据类型 在Oracle数据库中,数据类型的选择对于存储效率和查询性能至关...通过以上内容的学习,可以对Oracle数据库有一个全面而深入的理解,为高效地管理和利用数据库资源打下坚实的基础。

    分享ORACLE SEQUENCE跳号总结

    在Oracle数据库中,序列(SEQUENCE)是一种特殊的数据类型,用于生成唯一且递增的整数值,常用于主键生成或其他需要唯一标识的场景。然而,有时会出现序列跳号(skip sequence numbers)的情况,即序列值没有按照...

    oracle-use.rar_Oracle drop use_oracle

    "oracle-use.rar_Oracle drop use_oracle"这个压缩包包含了与Oracle数据库使用相关的多个文档,包括查询、操作、PL/SQL语法、数据导入导出、连接配置以及备份恢复等方面的知识。 首先,我们来关注"插入数据"这一...

    oracle 11g 题库之 051-1

    - **Oracle 11g 题库之 051-1**:这个标题表明这是一个关于Oracle Database 11g的题库,特别针对的是SQL基础知识部分(SQL Fundamentals I),并且是该题库系列中的一个子集。 #### 描述解读 - **这是oracle 11g ...

    oracle序列创建、修改、删除

    在Oracle数据库中,序列(Sequence)是一种特殊的数据对象,它能自动地生成唯一的整数,通常用于为主键字段提供连续的标识符。序列的使用极大地简化了数据插入过程,特别是对于那些需要保持唯一性的整数字段,如员工...

    Oracle开发技术--整理

    - 外键(Foreign Key):参照另一个表或同一表的主键或唯一键,确保数据的引用完整性,外键的值需与主键匹配或为空。 2. **数据库对象** - 表(Table):存储数据的基本结构。 - 视图(View):虚拟表,基于一个...

    oracle自增长与临时表

    在Oracle数据库系统中,"自增长"和"临时表"是两个重要的概念,它们在数据库管理和数据处理中扮演着关键角色。自增长字段通常用于自动为新插入的记录生成唯一的标识符,而临时表则是在特定会话或事务中存储临时数据的...

    oracle权限管理

    - 允许用户连接到数据库并启动一个新的会话。 - 这是所有用户默认拥有的基本权限之一。 2. **CREATE TABLE** - 允许用户在指定模式下创建新表。 - 创建表时,用户必须具有该模式下的空间分配权限。 3. **...

    Oracle数据库基础知识

    根据提供的文档信息,以下是从标题、描述以及部分文档内容中提炼出的相关Oracle数据库的基础知识点。 ### Oracle数据库基础知识 #### 1.1 产品概述 **1.1.1 产品简介** Oracle数据库是由美国甲骨文公司开发的一...

    Oracle 19c和20c新特性解密-2019数据技术嘉年华.pdf

    Oracle 19c和20c是Oracle数据库的两个重要版本,它们引入了许多创新特性以提升性能、可扩展性和易用性。以下是这些版本的新特性详细解析: **Oracle 18c新特性** 1. **高效性能:右向增长索引分裂竞争优化** - 右...

    Oracle 数据库重点_难点总结.doc

    - **管理工具 Oracle 企业管理器(OEM)**:提供了一个统一的界面来管理多个 Oracle 数据库实例。 - **查询工具**: - **SQL*Plus**:最常用的工具之一,用于执行 SQL 命令和 PL/SQL 块。 - **iSQL*Plus**:基于 Web...

    oracle 锁及并发性

    Oracle通过自动检测并解除其中一个会话的锁来解决死锁问题。 **示例**: 1. 会话1锁定表T1中的记录,并尝试更新表T2中的记录。 2. 同时,会话2锁定表T2中的记录,并尝试更新表T1中的记录。 - 结果:会话1和会话2都...

    Oracle插入数据时获取自增ID

    需要注意的是,`CURRVAL`只能在一个会话内有效,即在同一个会话中,`CURRVAL`返回的值只对最近一次调用`NEXTVAL`的序列有效。这意味着如果你在同一事务中多次插入数据,那么每次插入后都需要分别查询`CURRVAL`来获取...

    ORACLE核心应用技术研究.doc

    - Session:会话是用户与数据库之间的交互实例,每个会话都有自己的内存结构和状态。 - Process:Oracle进程包括用户进程、服务器进程和后台进程,它们协同工作以支持数据库操作。 5. 自带的Application Server -...

    oracle权限全集

    - `CREATE VIEW`: 创建用户自己的视图,基于一个或多个表的查询结果。 3. **删除权限**: - `DROP ANY CLUSTER`: 删除任何用户的簇。 - `DROP ANY INDEX`: 删除任何用户的索引。 - `DROP ANY PROCEDURE`: 删除...

    Oracle数据库维护常用SQL语句集合

    根据提供的文件信息,我们可以归纳出一系列与Oracle数据库维护相关的SQL语句知识点。这些知识点主要涵盖了查询当前会话信息、查询特定会话的操作系统ID、获取指定会话正在执行的SQL语句、根据对象查找相关会话信息、...

    Oracle学习笔记

    在用户连接数据库并创建会话时自动分配,保存每个与Oracle数据库连接的用户进程所需的信息。PGA为非共享区,当用户会话结束时,PGA会被释放。 - **进程** - **用户进程**:客户端应用程序与Oracle服务器之间通信的...

Global site tag (gtag.js) - Google Analytics