如何取得新插入记录的当前序列的值?

qiangorqiang 2004-10-29 02:21:20
请问各位,我使用如下语句插入一条记录,怎样才能取得当前序列的值。
insert into INFORMATION (ID , MODULE , DEPID , TITLE , BODY , MAKER , MAKEDATE) VALUES (SEQ_INFO_ID.NEXTVAL, sModule , nDepID , sTitle , sBody , sMaker , SYSDATE);
...全文
200 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
feihu_02 2005-06-17
  • 打赏
  • 举报
回复
up
dinya2003 2004-10-29
  • 打赏
  • 举报
回复
在过程中定义一个输出变量
create or replace procedure proc_name (.....,p_out out number)
as
v_id;
begin
....
....
select 序列.currval into v_id from dual;
...
p_out:=v_id;

end ;




select 序列.currval into p_out from dual;


--然后在C#中执行过程,得到p_out返回值.
qiangorqiang 2004-10-29
  • 打赏
  • 举报
回复
我使用的是C#开发前端,我在程序中定义了一个ReturnValue类型的参数,如果返回值设为常数时我程序中定义参数是可以取得的。
bzszp 2004-10-29
  • 打赏
  • 举报
回复
那你返回以后,存放在哪里?
qiangorqiang 2004-10-29
  • 打赏
  • 举报
回复
问题是并没有定义v_id变量。
cc59 2004-10-29
  • 打赏
  • 举报
回复
相当于赋值
qiangorqiang 2004-10-29
  • 打赏
  • 举报
回复
bzszp(SongZip)你好。请问return id into v_id;是什么作用。谢谢
bzszp 2004-10-29
  • 打赏
  • 举报
回复
select seq_info_id.currval from dual;

如果是在存储过程里面
insert into INFORMATION (ID , MODULE , DEPID , TITLE , BODY , MAKER , MAKEDATE) VALUES (SEQ_INFO_ID.NEXTVAL, sModule , nDepID , sTitle , sBody , sMaker , SYSDATE)
return id into v_id;

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧