Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Возврат нескольких датасетов из хранимой процедуры. Как запретить ?  [new]
AlexV1
Member

Откуда: Новосибирск
Сообщений: 606
Процедура построена так:

ALTER PROCEDURE [dbo].[spProc1] 
AS
  exec spAnyProcedure ...  -- ХП что то делает, внутри этой ХП есть какие то SELECT'ы и процедура в итоге возвр.набор данных
  SELECT ... FROM t1
...

Как видите, если запустить spProc1 она вернет более одного датасета.
Требуется запретить вывод датасетов из spAnyProcedure так, чтобы spProc1 возвращала только один датасет (из таблицы t1).
Пробовал перед exec spAnyProcedure вставлять
SET nocount on -- не помогает.
14 авг 09, 11:14    [7537842]     Ответить | Цитировать Сообщить модератору
 Re: Возврат нескольких датасетов из хранимой процедуры. Как запретить ?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Пишите процедуру spAnyProcedure так, чтобы она возвращала только нужные результаты
14 авг 09, 11:15    [7537858]     Ответить | Цитировать Сообщить модератору
 Re: Возврат нескольких датасетов из хранимой процедуры. Как запретить ?  [new]
aklerk
Member

Откуда:
Сообщений: 66
Прислушайтесь к Glory

Если же никак, и spAnyProcedure возвращает 1 набор, то

DECLARE @t TABLE ( <columns> )
SET FMTONLY ON 
INSERT INTO @t ( <columns> ) EXEC spAnyProcedure
SET FMTONLY OFF 
14 авг 09, 12:19    [7538514]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить