Case When con parametro de Store

28/05/2004 - 02:02 por ONIL | Informe spam
Hola amigos..!
Tengo un pequeño problema..
Tengo un store al cual le paso un parametro entero(0-5).
Necesito que efectue una consulta diferente dependiendo del valor que se
le pase..algo como esto..

CREATE PROCEDURE CAT
@CatName int(1)
AS
CASE @CatName=0 THEN SELECT * FROM TABLA1
CASE @CatName=1 THEN SELECT * FROM TABLA2
END

Gracias Anticipadas..
(\__/)
(=':'=)
(")_(")
ONil@.
MX.
 

Leer las respuestas

#1 Javier Loria
28/05/2004 - 00:31 | Informe spam
Hola:
El case en SQL no funcion como el case/switch de Basic, Pacal o C, y no
existe un equivalente, tienes que simularlo con IF.
==IF (@CatName=0)
BEGIN
SELECT * FROM TABLA1
END
ELSE IF (@CatName=1)
BEGIN
SELECT * FROM TABLA2
END
...
== Esta estructuras, producen con frecuencia problemas de recompilacion y
rendimiento en los procedimientos, y son dificiles de mantener :(
Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

ONIL@ escribio:
Hola amigos..!
Tengo un pequeño problema..
Tengo un store al cual le paso un parametro entero(0-5).
Necesito que efectue una consulta diferente dependiendo del valor
que se le pase..algo como esto..

CREATE PROCEDURE CAT
@CatName int(1)
AS
CASE @CatName=0 THEN SELECT * FROM TABLA1
CASE @CatName=1 THEN SELECT * FROM TABLA2
END

Gracias Anticipadas..
(\__/)
(=':'=)
(")_(")

MX.

Preguntas similares