我有一个动态查询,它将包含UPDATE语句。这些语句可以更新多达百万条记录。为避免数据库锁定,我想批量更新它们。我的困惑是,我正在使用EXECUTE sp_executesql
并且不确定如何获取它的行数。
SQL代码:
DECLARE @ConcatQueryString NVARCHAR(MAX)
SELECT @ConcatQueryString = COALESCE(@ConcatQueryString + ' ', '') + CAST(Query AS NVARCHAR(MAX)) FROM TableName
EXECUTE sp_executesql @ConcatQueryString
@ConcatQueryString:
UPDATE TableName SET Value = 852 WHERE Description = 'Description1' AND ConceptID = 404 UPDATE TableName SET Value = 853 WHERE Description = 'Description2' AND ConceptID = 404
问题:
如何使用@@ROWCOUNT
获取所有UPDATE
语句的记录数,以便我可以将其用于批量更新?在上面的示例中,有两个UPDATE
标记,我想要两个查询的总行数。