oracle获取行号

请问Oracle如何获取刚插入的行号呢?也就是刚插入的主键ID,其中主键是自动增长的。这个我知道,但是怎么获取刚插入的ID,比如说你创建一个存储过程,该过程有个inser... 请问Oracle如何获取刚插入的行号呢?也就是刚插入的主键ID,其中主键是自动增长的。
这个我知道,但是怎么获取刚插入的ID,比如说你创建一个存储过程,该过程有个insert语句和select语句,你先insert后,要取出刚才insert语句中的ID作为select的条件,怎么做?不知道我说清楚了没有
展开
 我来答
badkano
推荐于2017-09-19 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885365
团长

向TA提问 私信TA
展开全部

oracle的行号用rownum来表示。

如:有test表,数据如下:

现在要求给出每行的行号,可用如下SQL语句。

select rownum,test.* from test;

查询结果如下:

奔驰M888
推荐于2017-09-03 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1846
采纳率:0%
帮助的人:2695万
展开全部
你的主键的自动增长应该使用序列实现的吧。
如果是的话,你可以试试再没插入记录后,检索一下你的主键序列的当前值,这样就可以把你的目的达到了。

具体可以这样做:
select * from table_name where id = 序列_name.current;
或者
select * from table_name where id = (select max(id)from table_name);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zh_cn
2009-03-31 · TA获得超过8463个赞
知道小有建树答主
回答量:1335
采纳率:50%
帮助的人:1029万
展开全部
在 Oracle 中如果要实现一个自动增长的主键 ID,可以使用序列发生器 SEQUENCE。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tj_angela
2009-04-01 · TA获得超过7530个赞
知道大有可为答主
回答量:6797
采纳率:75%
帮助的人:2553万
展开全部
2L说的是
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_Wisdom
2009-04-01 · 超过20用户采纳过TA的回答
知道答主
回答量:78
采纳率:0%
帮助的人:0
展开全部
取ID的最大值作为查询条件不就行了嘛!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式