SQL Server - Estructura del case

 
Vista:

Estructura del case

Publicado por Carlos Restrepo (61 intervenciones) el 30/05/2007 17:58:26
Hola a todos

Tengo una pregunta, de antemano ofrezco disculpas, por la insignificancia pero es que soy nuevo en esto de sql server,

tengo una estructura case de la siguiente forma:

SET @V_DAYRESULT=@PI_FINISHDATE-@V_CHANGEDATE
CASE @V_DAYRESULT
WHEN @V_DAYRESULT<=1 THEN UPDATE #T_ACRANGE SET RANGE1=(@V_YTRNTOT+@V_YTOTDB)
WHEN @V_DAYRESULT=2 THEN UPDATE #T_ACRANGE SET RANGE2=(@V_YTRNTOT+@V_YTOTDB)
WHEN @V_DAYRESULT=3 THEN UPDATE #T_ACRANGE SET RANGE3=(@V_YTRNTOT+@V_YTOTDB)
END


La idea es que pueda utilizar esta estructura case para hacer el update, pero me da error de sintaxis en el case el when y el end, mi pregunta es si puedo utilizar un case sin un select, segun la ayuda se puede pero al hacer las cosas segun como dice el ejemplo y reemplazando con mis valores me da error.

Por favor una ayuda...

De antemano muchas gracias

Carlos Restrepo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Estructura del case

Publicado por Isaías (3308 intervenciones) el 31/05/2007 01:21:09
No Carlos, no debes utilizar el CASE, utiliza el IF

SET @V_DAYRESULT = @PI_FINISHDATE-@V_CHANGEDATE
IF @V_DAYRESULT<=1
UPDATE #T_ACRANGE SET RANGE1 =(@V_YTRNTOT+@V_YTOTDB)
IF @V_DAYRESULT=2
UPDATE #T_ACRANGE SET RANGE2 =(@V_YTRNTOT+@V_YTOTDB)
IF @V_DAYRESULT=3
UPDATE #T_ACRANGE SET RANGE3 =(@V_YTRNTOT+@V_YTOTDB)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias isaias

Publicado por Carlos Restrepo (61 intervenciones) el 31/05/2007 15:34:11
Gracias isaias, ya me lo imaginaba, pero pense que se podia

Carlos Restrepo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Gracias isaias

Publicado por Isaías (3308 intervenciones) el 31/05/2007 20:03:48
Carlos

No te preocupes, yo tambien algun dia me tropece con la misma piedra, solo hay que saber que en la estructura del CASE, no se permiten instrucciones como UPDATE, INSERT, DELETE, etc.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar