Para salvar o resultado de uma procedure em uma variável,você vai precisar de uma tabela temporária para intermediar o processo.
No SQL 2000, terá que usar tabelas temporárias mesmo.
Ficará algo parecido com isso:
Create Table #TabelaTemp (IdTeste INT)
INSERT INTO @TabelaTemp EXEC MinhaProcedure '1'
Já no SQL 2005, pode usar a variável @TABLE que além de ser mais simples, em geral, é mais performática do que uma tabela temporária.
Vai ficar mais ou menos assim:
DECLARE @TabelaTemp as TABLE (IdTeste INT)
INSERT INTO @TabelaTemp EXEC MinhaProcedure '1'
Depois de inserir os resultados nas tabelas temporárias, basta apenas dar selects com sets e fica tudo resolvido.
Set @Variavel = (select IdTeste from @TabelaTemp ) ou
Set @Variavel = (select IdTeste from #TabelaTemp )
Lembrando que no SQL 2000, depois de usar a tabela temporária, sempre DROPE ela.
A variável @TABLE do SQL 2005 não precisa ser dropada.
Um comentário:
Estou gostando de vê sua dedicação ao transmitir seus conhecimentos técnicos.
E o melhor de tudo, sua linguagem facilita o entendimento de coisas que por muitas vezes não são tão claras nos artigos técnicos. Não esquece se falar sobre views e suas funcionalidades okey.
Valew Andrey
Rogério
Postar um comentário