Funcao Case em Stored Procedure, qual a sintaxe?
Ola.
Alguem tem uma dica de como eu posso solucionar o seguinte caso.
Tenho 12 campos que referenciam aos 12 meses do ano (VLR1..Vlr12) numeric (16,6)
Preciso atribuir o valor da venda ao seu referido mes(no caso o campo).
obtenho o mes da venda: set @IMES = month(@NOTA_DATA)
como faço pra lancar no campo correspondente?
Seria algo assim?
Mas isso nao esta funcionando
O case nao esta sendo reconhecido na SP.
grato.
[]´s
:roll:
Alguem tem uma dica de como eu posso solucionar o seguinte caso.
Tenho 12 campos que referenciam aos 12 meses do ano (VLR1..Vlr12) numeric (16,6)
Preciso atribuir o valor da venda ao seu referido mes(no caso o campo).
obtenho o mes da venda: set @IMES = month(@NOTA_DATA)
como faço pra lancar no campo correspondente?
case @IMES = when 1 then set VLR1 = @VALOR when 2 then set VLR2 = @VALOR end
Seria algo assim?
Mas isso nao esta funcionando
O case nao esta sendo reconhecido na SP.
grato.
[]´s
:roll:
Macario
Curtidas 0
Respostas
Psergio.p
23/09/2006
Caro amigo, não entendi bem o que você precisa, poderia explicar melhor e postar a estrutura da sua tabela?
GOSTEI 0
Raserafim
23/09/2006
tente algo neste sentido:
case when @IMES = 1 then (update nometabela set VLR1 = @VALOR) when @IMES = 2 then (update nometabela set VLR2 = @VALOR) ... end
GOSTEI 0
Macario
23/09/2006
Caro amigo, não entendi bem o que você precisa, poderia explicar melhor e postar a estrutura da sua tabela?
Ola.
Eu estou gerando um relatorio de vendas anuais.
Vou citar um exemplo basico que nao reflete todo o codigo da SP em questao.
Dentro da SP faco o seguite.
declare CURSOR_TEMP cursor local fast_forward for select CLIENTE, NOTA, DATA, VALOR from TABNOTAS
Que me retorna o seguinte:
CLIENTE---->NOTA---->DATA---------VALOR 0000001---->01010--->10/07/2006--100 0000001---->02010--->10/08/2006--200 0000002---->03010--->11/09/2006--300
Tenho 12 variaveis para poder ´jogar´ o valor da nota no mes de referencia(campo DATA)
Por exemplo a nota 02010 o valor vai para a
[b:776dabc4e9]
if(@MES= 8)
set @VLR8 = VALOR
[/b:776dabc4e9]
Entao depois eu faco um update na tabela com o valor no mes de venda.
O que esta acontecendo e que dentro da SP estou testando o mes atravez de 12 [b:776dabc4e9]IF´s[/b:776dabc4e9]
Acredito que exista uma maneira mais pratica e logica para esta situacao.
espero ter esclarecido melhor minha necessidade.
GOSTEI 0
Psergio.p
23/09/2006
Você já está usando if então?
GOSTEI 0