UPDATE语句t-sql不知道标识字段名称
问题描述:
我有一个存储过程生成动态SQL,我在末尾调用EXEC()
来执行UPDATE
语句。我用它来更新具有不同的字段名称标识列不同的表,即UserId
,ProductId
,ShoppingCartId
等UPDATE语句t-sql不知道标识字段名称
我可以通过参数的只是传递标识列的字段名存储过程,但我想知道是否有一种方法来动态引用更新语句中的标识列。
EX:
UPDATE @TableName
SET @ColumnName = @ColumnValue
WHERE table_identity_field = @RowId
其中table_identity_field
是该特定表中标识列。
答
我可以只通过一个 参数的存储过程通过标识列的字段名,但我不知道是否有一种方法来 在更新语句动态引用标识列。
可以使用$IDENTITY
关键字来引用一个表的标识列:
UPDATE TableName
SET ColumnName = @ColumnValue
WHERE $IDENTITY = @RowId;
完美!谢谢.. –