Como você atribui o resultado de uma chamada exec a uma variável no SQL? Eu tenho um procedimento armazenado chamado up_GetBusinessDay
, que retorna uma única data.
Você pode fazer algo assim:
exec @PreviousBusinessDay = dbo.up_GetBusinessDay @Date, -1
sql
sql-server
tsql
stored-procedures
Prabhu
fonte
fonte
Isso funcionará se você quiser simplesmente retornar um número inteiro:
fonte
UNIQUEIDENTIFIER
.UNIQUEIDENTIFIER
foi apenas um exemplo,RETURN
foi projetado para funcionar apenas com valores inteiros, consulte a documentação . A maneira recomendada de obter outros dados de um SP é retornar um conjunto de resultados ou usarOUTPUT
fonte
A partir da documentação (supondo que você use o SQL-Server):
Então, sim, deve funcionar dessa forma.
fonte
Eu tive a mesma pergunta. Embora haja boas respostas aqui, decidi criar uma função com valor de tabela. Com uma função com valor de tabela (ou escalar), você não precisa alterar o procedimento armazenado. Eu simplesmente fiz uma seleção na função com valor de tabela. Observe que o parâmetro (MyParameter é opcional).
Para atribuir à sua variável, você simplesmente pode fazer algo como:
Você também pode usar uma função de valor escalar:
Então você pode simplesmente fazer
fonte