Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Douglas BRTUV

Atribuir à uma variável o resultado de um select

Recommended Posts

Eu gostaria de saber como que eu atribuo em uma variável o resultado de um select.

Meu select traz um número de OS, com este número preciso colocar em um outro select, más ao colocar a variável que contém o select ela não reconhece o seu resultado e sim o próprio select que é do tipo texto, assim dando erro na minha estrutura.

Segue exemplo da minha procedure.

 

While @Contador <= 1000
BEGIN
:pinch:
set @SQL1=' where YEAR(Data)='+@Ano
set @SQL2=' SELECT codigoos FROM OrderedOrders WHERE Row ='+@Contador+'; '
set @SQL=' WITH OrderedOrders AS (SELECT codigoos, ROW_NUMBER() OVER(order by OS.CodigoOS)as Row FROM OS '
set @SQL=@SQL+@InnerJoinStatus+@SQL1+@FiltrarStatus+')'+@SQL2
select @SQL -- nesta linha ele exibe o select assim concatenado tudo certinho, más não o resultado do select
exec @SQL -- nesta linha ele exibe o resultado do select, más não consigo atribuir este resultado à uma outra variável.
não coloquei o restante do código porque está tudo funcionando apenas estou com problema onde indiquei.
Me ajudem Please.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema resolvido.


Problema resolvido.

Usei isto:

 

set @QuerySql=N' WITH OrderedOrders AS (SELECT codigoos, ROW_NUMBER() OVER(order by OS.CodigoOS)as Row FROM OS '+@InnerJoinStatus+' WHERE YEAR(Data)= '+@Ano+' '+@FiltrarStatus+') SELECT @_codOs = CodigoOS FROM OrderedOrders WHERE Row = @Contador1';
-- select @QuerySql
SET @DefinicaoParam = N'@Contador1 int, @_codOs int output';
EXECUTE sp_executesql @QuerySql, @DefinicaoParam, @Contador1 = @Contador, @_codOs = @CodOS output ;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.