我要向表里添加一条数据,其中"id"字段为标识列,自动增长。当插入成功后,我想在java中得到这个标识列中生成的值,应当怎么做?考虑过用触发器中的虚表Inserted,不知道应当什么时候怎样去查询或者用调用存储过程的那个prepareStatment?望高手指教

解决方案 »

  1.   

    插入成功之后,紧接着SELECT id 不就得了?
      

  2.   

    如果是一个函数FUNCTION 插值函数(参数)
      INSERT INTO 表 字段和值
      SELECT MAX(ID) FROM 表
    END FUNCTION因为ID字段是自动增长的,所以新插入的记录,ID值总是最大的,用MAX(ID)就得到刚刚插入的记录的ID值了.
      

  3.   

    再探讨的话,如果ID字段做了索引,利用ORDER结合TOP 1,效率可能更好.
      

  4.   

    我查到了一个方法...select @@identity得到最后一次标识列生成的值