Чтение хранимой процедуры из элемента табличного значения

У меня есть хранимая процедура под названием «GetSPTst», которую я вызываю из функции табличного значения. В этой функции я возвращаю таблицу, ниже приведен мой код SQL. Я получаю сообщение об ошибке"

Сообщение 443, уровень 16, состояние 14, процедура TstFunction, строка 15. Недопустимое использование побочного оператора «INSERT EXEC» внутри функции».

Не могли бы вы помочь?

IF EXISTS (SELECT *
       FROM   sys.objects
       WHERE  object_id = OBJECT_ID(N'[dbo].[TstFunction]
               AND type IN ( N'FN', N'IF', N'TF', N'FS', N'FT' ))
DROP FUNCTION [dbo].[TstFunction]
GO 

CREATE FUNCTION [dbo].[TstFunction]( @AsAtDate datetime, @DateFrom datetime, @DateTo datetime, @Ledger char(1), @CodeFrom varchar(6),
                                           @CodeTo varchar(6), @CurrencyFrom char(3), @CurrencyTo char(3))

RETURNS  @FunctionResultTableVariable TABLE (Currency char(3), Code varchar(6), BalOutst int)
AS
BEGIN

            insert @FunctionResultTableVariable
             EXECUTE  [dbo].[GetSPTst]                          
               @AsAtDate                                    
              ,@DateFrom                                    
              ,@DateTo                                  
              ,@Ledger                                  
              ,@CodeFrom
              ,@CodeTo
              ,@CurrencyFrom
              ,@CurrencyTo;


   return;
END
GO

person Anna Marie Rapa    schedule 25.11.2015    source источник
comment
В SQL Server внутренней функции вы просто не можете вызвать другую хранимую процедуру/функцию.   -  person Lukasz Szozda    schedule 25.11.2015
comment
Тег dbms используется, это вопрос конкретного продукта.   -  person jarlh    schedule 25.11.2015
comment
вы не можете сохранить proc. внутри функции на сервере sql   -  person bmsqldev    schedule 25.11.2015


Ответы (1)


Невозможно выполнить хранимую процедуру из созданной вами функции с табличным значением, однако вы можете изменить хранимую процедуру на функцию с табличным значением.

person Jesse Petronio    schedule 25.11.2015
comment
Я не могу изменить свою хранимую процедуру на табличную функцию, поскольку она уже используется в моем проекте. - person Anna Marie Rapa; 26.11.2015