switch en T-SQL

17/12/2007 - 22:00 por Carlos Hidalgo | Informe spam
Hola

En mi DB tengo un SP donde de acuerdo al valor de una variable, decide que
consulta ejecutar, pero actualmente lo hago con puro IF-ELSE y la verdad es
algo engorroso, quisiera saber si existe algo como el SWITCH para hacer
selecciones multiples o me lo tengo que aventar con ELSEIF

desde ya mucha gracias...

Preguntas similare

Leer las respuestas

#11 Maxi
19/12/2007 - 13:26 | Informe spam
Carlos, a lo que me refiero es que TSQL no tiene el poder de un lenguaje de
programacion como podria ser .NET, esta muy lejos de eso, ojo con esto no
quiero decir que TSQL es malo ni mucho menos, sino que ha sido pensado para
otra cosa. Hay muchas veces que los desarrolladores pensamos que TSQL es un
lenguaje potente y queremos hacer cosas complicadas las cuales pueden
terminar o en cursores o bien en otro tipo de tecnicas lentas.
De hecho la inclusion de CLR es justamente para potenciar lo que TSQL no es
muy bueno y darle mayor poder a los objetos que podemos generar.


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Carlos M. Calvelo" escribió en el mensaje
news:
Hola Maxi,

On 18 dec, 17:28, "Maxi" wrote:
Bueno no entra en la categoria de lenguaje de programacion para mi ;-) es
mas un scripting que otra cosa :-)



Por ser o no 'scripting' no se es menos o mas lenguaje de
programación.


pero bueno, lo que realmente queria decir
es que no tiene el poder de un lenguaje de programacion como c# o vb.net o
java por ejemplo, le faltan cosas muy basicas, de hecho en 2005 se
incorporo
la utilizacion de CLR y es para darle mas poder a TSQL (las cosas que no
se
pueden hacer con este "lenguaje"



Como que el CLR tampoco tiene el poder de SQL y también le faltan
cosas muy básicas cuando hablamos de programación declarativa y
de gestión de datos que en SQL son normales.
Y.. si, SQL (sin la 'T') es un lenguaje de programación.
Quizás estés diciendo que no consideras lenguanges de programación
aquellos de propósito específico (no general). Pero si lo son.

Saludos,
Carlos
Respuesta Responder a este mensaje
#12 Leonardo Azpurua
20/12/2007 - 02:28 | Informe spam
"Gux (MVP)" escribió en el mensaje
news:
Atención que el CASE no es un switch. CASE solamente puede ser usada como
una
función en una senetcnia pero no es una instrucción de control de flujo de
ejecución, que es lo que el amigo necesita.



Aunque si usas el CASE para asignarle a una variable de texto, y luego usas
esa variable como argumento para llamar a sp_executesql obtienes exactamente
el mismo resultado. Siempre estás limitado con respecto a los selectores
múltiples de los lenguajes de uso general, pero podría servir como respuesta
a la pregunta original.


Salud!
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida