Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
seg856 Member Откуда: Сообщений: 265 |
Хочу выполнить следующие инструкции: declare @c int set @cmd='select @c=count(*) from (select distinct mkabid, mkb from #service) where 1=0 '+@command exec(@cmd) ... далее манипуляции с @c Sql Server пишет, что переменная @c не определена. Пробовал внутри @cmd результат запроса во временную таблицу вносить, чтобы достать значение count(*), но временная таблица "снаружи" также не видна. Как достать значение count(*)? |
16 дек 14, 09:23 [17002504] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104751 |
http://msdn.microsoft.com/ru-ru/library/ms188001.aspx |
16 дек 14, 09:34 [17002571] Ответить | Цитировать Сообщить модератору |
seg856 Member Откуда: Сообщений: 265 |
как взять результирующие наборы из sp_executesql. Например: select * from (exec sp_executesql @cmd) недопустимо. |
16 дек 14, 09:53 [17002692] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104751 |
Из процедур невозможно "взять наборы". Но возвращаемые процедурой наборы можно поместить в предварительно созданную таблицу. ЗЫ Вы пишите плохой код. |
||
16 дек 14, 09:55 [17002704] Ответить | Цитировать Сообщить модератору |
seg856 Member Откуда: Сообщений: 265 |
А значение переменной оттуда нельзя взять. Только через таблицу? |
16 дек 14, 09:59 [17002736] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104751 |
Я же вам дал ссылку |
||
16 дек 14, 09:59 [17002743] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |