none
Error Incorrect syntax near keyword CASE RRS feed

  • Pregunta

  • Hola a todos.

    Soy nuevo en estos de los procedimientos almacenados y el uso de CASE en T-SQL,

    pido ayuda en donde esta mi error.



    Les agradezco.


    Octavio Bolloa

    sábado, 29 de agosto de 2020 1:02

Todas las respuestas

  • Hola Bollua:

    La sentencia desde el punto de vista del motor no tiene el sentido que le habrás querido dar. Además tienes más errores que el case.

    Por el nombre de los parámetros y el de las columnas y la tabla, parece que aún está en una fase básica, pero no se suele realizar columnas que se llamen 1,2,3....bla porque mañana necesitarás Preg_8 y sucesivamente. No es que no se pueda, pero no es lo más acorde a la normalización.

    Obviando los procedures, vamos a partir de la base de que tienes una tabla que se llama RespMod1

    Por tanto la consulta tiene que tener Select    From RespMod1 [Where] 

    Case lo podemos utilizar para evalúar una expresión, tanto desde el punto de vista de la restricción de los datos, como de la salida de una columna (hay más sitios, pero por la sentencia se deduce esto)

    Obviando lo que queremos retornar, de momento tenemos Select from respMod1 where

    Ahora si queremos evaluar el contenido de la columna o de la variable. para el ejemplo yo pongo la columna = expresión de la variable.

    Preg_1 = case when (expresión1) then resultado when (expresion2) then resultado else resultado end

    Por otro lado, no puedes utilizar @resp_2 porque no existe. No esta declarada en el procedure, ni la pasas como parámetro.

    No puedes utilizar comillas dobles y un igual para asignar un valor a @Preg_1 (eso en c#)

    En TSQL se hace Set @preg_1 = 'Incorrecto'

    Si quieres ayuda completa, tienes que pegar en texto un ejemplo de lo que tiene la tabla RespMod1 y de lo que quieres que te devuelva el procedure al paso de los parámetros que quieras mandarle, porque todo esta muy liado.

    sábado, 29 de agosto de 2020 5:07