Oracle:此会话中尚未定义序列SEQ_BOARD.CURRVAL

时间:2018-04-20 16:49:04

标签: java oracle

我在使用java,oracle进行开发时出错,但我几个小时都无法解决它。 这是一个查询代码。

<insert id="insert">

    insert into board (bno,title,content,writer) values

    ( seq_board.nextval, #{title}, #{content}, #{writer} )

</insert>

<insert id="addAttach">

    insert into attach (fullName, bno) values 

    ( #{fullName}, seq_board.currval )

</insert>

在电路板表中,数据存储得很好。如果我写的文件附有一个附在板上的文件,则会出现500错误页面。

如果我单击退格键,我会看到该主板并且文件未上传。

1 个答案:

答案 0 :(得分:0)

原因在Oracle: sequence MySequence.currval is not yet defined in this session中进行了讨论。

感谢krokodilko。

从xml文本的部分配置中,看起来你正在使用mybatis或类似的框架。

我建议insert id =“insert”应该返回生成的seq.nextval,然后你得到它,将值传递给insert id =“addAttach”而不是使用seq.currval来解决。