2010-08-26 2 views
2
DECLARE @T INT 
EXEC('SELECT @T = count(user_id) FROM (.. .. ..)') 
PRINT @T 

Я думаю, что этого примера достаточно, чтобы объяснить, что я пытаюсь сделать, я создаю динамический запрос и хочу получить доступ к его счету вне инструкции exec.Как установить/получить/вернуть параметры из динамического выполненного запроса

Я использую SQL 2000. Как это можно достичь?

ответ

4

Вам нужно будет использовать sp_executesql, который позволяет вам вводить и выходить параметры. Главное, кроме решения ниже, - убедиться, что вам действительно нужен динамический SQL.

например.

DECLARE @SQL NVARCHAR(1000) 
DECLARE @T INTEGER 
SET @SQL = 'SELECT @T = COUNT(user_id) FROM ......' 

EXECUTE sp_executesql @SQL, N'@T INTEGER OUT', @T OUT 

PRINT @T 
+0

спасибо, что действительно помогло. –

Смежные вопросы