Aufgabenstellung
Aus einem normalen SQL Statement, welches mit EXEC ausgeführt wird, soll eine Ergebnisvariable in dem „normalen“ TSQL-Skript weiterverwendet werden.
Ansatz
Hierzu wird der Rückgabewert des EXEC Statements in eine Variable geschrieben.
Lösung
SET @sql2='SELECT COUNT(*) FROM users WHERE ['+@forsheet+']=1' IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'ResultSet') DROP TABLE ResultSet; CREATE TABLE ResultSet (mycount int) INSERT INTO ResultSet EXEC sp_executesql @sql2 SELECT @isdrin=mycount FROM ResultSet