【发布时间】:2015-05-04 09:31:09
【问题描述】:
我想使用 MyBatis 从我的 Oracle 数据库 10g 中调用一个序列号,但我只收到如下错误消息:
ORA-02289: Sequence is not available.
如何从 Oracle 数据库中调用序列号?
这是我关于当前 MyBatis 版本的 Maven 项目依赖:
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.1.1</version>
</dependency>
这是我的 Dao Java 类:
long mySeqNumber = myDaoClass.getNewNumber(); // here I get an exception
这是我的 xml 声明:
<select id="getNewNumber" resultType="java.lang.Long" >
SELECT mySeq.nextval
FROM dual
</select>
【问题讨论】:
-
当以与 Java 登录相同的用户身份登录数据库时,大概运行从序列中选择的工作完美?
-
SELECT mySeq.nextval FROM dual改为SELECT nextVal('mySeq') -
@Afsun Khammadli:使用您的解决方案,我收到错误 ORA-00904: "NEXTVAL": invalid identifier
-
你将使用序列 nextval 做什么?我想你会使用插入不是吗?
-
是的,对于 SQL 插入,但首先我需要获取下一个序列号,然后我将序列号作为参数放入 XML 插入语句中