weixin_42388091 2010-07-23 10:38
浏览 416
已采纳

关于SQLserver 存储过程中 新增记录后 如何得到此条记录的Id

如题, 主键为自增型, 我想在记录新增后,得到记录生成的主键

  • 写回答

2条回答

  • jiangguangxian 2010-07-23 21:35
    关注

    [quote]楼上的不适合存储过程来搞定这个问题。
    [/quote]

    首先,你使用存储过程,procdure是可以获取添加的那个id的。类似于这么写:
    [code="java"]

    ....

    insert into TableM(...) values(...)

    IF @@ERROR != 0
    BEGIN
    return @@IDENTITY //这个就是添加后的id自动增长的值,sql会自动记录的。
    END

    ....
    [/code]

    从上面存储过程会得到这个id值,然后需要在程序里面获取

    [code="java"]

    CallableStatement call= conn.prepareCall("?={call procName(?,?<?,?)}");

    try{
    call.registerOutParam(1,"count");
    ...
    call.execute();

    ...
    int id = call.getObject(1);
    }catch(Exception e){

    }
    [/code]
    形式就是这样,具体的正确的得详细来说。你可以根据我写的形式来搜搜,或者可以联系我。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办