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