Whats the best way to update a single record via SQL and obtain the id of the record that was updated? (Java/MSSQL)

前端 未结 4 584
刺人心
刺人心 2021-01-16 19:06

I know I can update a single record like this - but then how to I get access to the id of the record that was updated? (I\'m using MSSQL so I can\'t use Oracles RowId)

4条回答
  •  青春惊慌失措
    2021-01-16 19:45

    Does this have to be in a single statement? Ultimately this would be best as a stored procedure

    Create Procedure doMyUpdate
    
     @Id int output
    
    as
    
    Set @Id = (select top 1 itemId from myTable)
    update myTable
    set myCol = 'foo'
    where itemId = @Id
    

    another way would be to use th RETURN keyword and the built in RETURN_VALUE parameter...

    Create Procedure doMyUpdate
    
    as
    
    Declare @Id int
    Set @Id = (select top 1 itemId from myTable)
    
    update myTable
    set myCol = 'foo'
    where itemId = @Id
    
    RETURN @Id
    

提交回复
热议问题