none
Stored Procedure ou Function RRS feed

  • Pergunta

  • Ola, pessoal. 

    Tem uma situação no sistema que conseguiria resolver facilmente usando uma function.

    Preciso retornar uma tabela, porém, a idéia é criar a Query dinamicamente

    Só como exemplo:

    -------------------------

    CREATE function [dbo].[FUN_EstoqueDisponivel11](@CodProdutos int)

    returns @Retorno table (Cod Int, 
    Descricao varchar(30))

    as
    BEGIN

    declare @query varchar(max);
    declare @resultado table (Cod int, Descricao Varchar(50));

    SET @query = 'Select Cod, Descricao from tab_produtos where Cod = ' + @CodProdutos;

    return exec(@query)

    SET @query = 'Select EstoqueAtual, PedidoVenda, PedidoCompra, ' +
                 ' EstoqueAtual - PedidoVenda + PedidoCompra as Saldo ' +
    ' From (Select ' + @query + ') as x'

    return execute @query

    --Insert into @Retorno exec(@query)

    END

    -------------------------

    Tentei de várias formas esse retorno... não tem jeito.

    Seria para usar como uma tabela, com "Joins", etc em várias consultas.

    Parece que não pode ter o Exec, dentro... Daí teria que ser uma Stored Procedure, correto?

    Porém, como poderia usar o conjunto de resultado PROCEDURE como uma tabela, como seria a ideia com a Function?

    Pois só consigo com o EXEC....

    Qual seria uma boa prática nesse caso?


    • Editado Julio Costi segunda-feira, 21 de janeiro de 2019 14:03
    segunda-feira, 21 de janeiro de 2019 14:02

Respostas

Todas as Respostas

  • Deleted
    segunda-feira, 21 de janeiro de 2019 14:42
  • Boa tarde,

    Por falta de retorno essa thread está encerrada.

    Se necessário favor abrir uma nova thread.

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quinta-feira, 31 de janeiro de 2019 19:42
    Moderador