Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie bekomme ich die Zeilenanzahl von EXEC() in einem TSQL SPROC?

Verwenden Sie sp_executesql und einen output parameter

Beispiel

DECLARE @sqlBody VARCHAR(500),@TableCount INT, @SQL NVARCHAR(1000)

SELECT @sqlBody = 'from sysobjects'
SELECT @SQL = N'SELECT @TableCount = COUNT(*) ' + @sqlBody

EXEC sp_executesql @SQL, N'@TableCount INT OUTPUT', @TableCount OUTPUT

SELECT @TableCount
GO