IDENT_CURRENT出错 - 列名无效

时间:2009-05-02 01:01:18

标签: sql sql-server stored-procedures

我正在尝试更新上次插入的表格中的列。我尝试创建这个存储过程:

CREATE PROCEDURE [dbo].[msp_AssociateEvent]
(
    @EventId int
)

AS

UPDATE tblFoodMenus set
EventID = @EventId

Where FoodMenuID = IDENT_CURRENT(tblFoodMenus) 

但它给了我这个错误:

  

列名称tblFoodMenus

无效

我正确使用IDENT_CURRENT吗?

P.S。 FoodMenuID是tblFoodMenus的主键,它是自动递增的

2 个答案:

答案 0 :(得分:3)

表名必须在引号中

Where FoodMenuID = IDENT_CURRENT('tblFoodMenus')

答案 1 :(得分:1)

马克·布拉克特的评论是正确的 - ident_current对于获得您感兴趣的特定身份是不安全的。几乎总是你想在插入的代码中使用scope_identity()然后在任何需要的地方传递它。