首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用camel-sql或camel-jdbc从INSERT中获取生成的密钥

如何使用camel-sql或camel-jdbc从INSERT中获取生成的密钥
EN

Stack Overflow用户
提问于 2016-02-23 15:04:14
回答 1查看 1.3K关注 0票数 1

我正在尝试从insert获取生成的密钥。但我得到了一个oracle.sql.ROWID

代码语言:javascript
复制
<route id="myroute">
  <from uri="direct:myroute" />
  <camel:setHeader headerName="CamelSqlRetrieveGeneratedKeys">
    <simple>true</simple>
  </camel:setHeader>
  <to uri="sql-db:{{myquery}}"/>
</route>

我的SQL:

代码语言:javascript
复制
INSERT INTO MY_TABLE (ID, name, description) VALUES(MY_SEQUENCE.NEXTVAL, :#NAME, :#DESCRIPTION)

但是接收到一个oracle.sql.ROWID。我的标题值:

代码语言:javascript
复制
{CamelSqlGeneratedKeyRows=[{ROWID=oracle.sql.ROWID@4e9adff2}], breadcrumbId=ID-VAIO-17584-1456233791521-0-9 ...

ROWID不是数字.它的地址来自行:(带有值AABNPdAAOAAC0AOAAB )。

那么,如何使用camel-sql获取生成的密钥(序列值)?

我不得不用

从对偶中选择MY_SEQUENCE.currval

?:(

谢谢。

Camel 2.16.2 Spring 4.1.5 JDK 1.7-1.8 Oracle 11g

EN

回答 1

Stack Overflow用户

发布于 2016-02-23 16:02:19

返回基本上是带有语句的preparedStatment返回。RETURN_GENERATED_KEYS作为另一个参数,它使您能够检索生成的keys.Can,您可以使用普通的Java.sql准备语句运行查询,并检查那里发生了什么。无需进行第二个查询,您就应该能够获得详细信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35580953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档