Nếu truy vấn trả về tập kết quả vô hướng, bạn cần thực hiện
DECLARE @VAR INT
DECLARE @Result TABLE
(
C INT
)
DECLARE @SQl NVARCHAR(MAX)
SET @SQl = 'SELECT 1'
INSERT INTO @Result
EXEC(@SQl)
SELECT @VAR = C FROM @Result
Tốt hơn nhiều khi sử dụng sp_executesql
và OUTPUT
tham số
DECLARE @VAR INT
DECLARE @SQl NVARCHAR(MAX)
SET @SQl = 'SELECT @out = 1'
EXEC sp_executesql @SQl, N'@out int output', @out = @VAR OUTPUT
SELECT @VAR