"que el parámetro sea verdadero"

16/11/2008 - 21:45 por David | Informe spam
Muy buenas,

Microsoft SQL Server 2000

Con lo bien pagados que está los fontaneros y yo hoy domingo "liado", en fin
acudo al foro porque estoy echo un lío.

En una tabla tengo 4 campos booleanos (tipo de datos BIT), entre otros
muchos (simplifico el problema)

tabla
CampoA BIT
CampoB BIT
CampoC BIT
CampoD BIT

Necesito diseñar un Store Procedure que uno de sus parámetros de entrada es
el nombre de uno de esos campos y comprobar si es TRUE, es decir, el SP
respondería (devolverá valores) a preguntas del tipo

LlamadaAl_SP_que_no_se_escribir ¿es verdadero el CampoA?

LlamadaAl_SP_que_no_se_escribir ¿es verdadero el CampoB?

LlamadaAl_SP_que_no_se_escribir ¿es verdadero el CampoC?

LlamadaAl_SP_que_no_se_escribir ¿es verdadero el CampoD?

No se si me explico el parámetro es "el nombre del campo booleano que he de
comprobar si es verdadero".

En fin mil gracias de antemano.

Preguntas similare

Leer las respuestas

#1 Juan Diego Bueno
16/11/2008 - 22:41 | Informe spam
Hola David:


"David" escribió en el mensaje de
noticias:
Muy buenas,

Microsoft SQL Server 2000

Con lo bien pagados que está los fontaneros y yo hoy domingo "liado", en
fin acudo al foro porque estoy echo un lío.

En una tabla tengo 4 campos booleanos (tipo de datos BIT), entre otros
muchos (simplifico el problema)

tabla
CampoA BIT
CampoB BIT
CampoC BIT
CampoD BIT

Necesito diseñar un Store Procedure que uno de sus parámetros de entrada
es el nombre de uno de esos campos y comprobar si es TRUE, es decir, el SP
respondería (devolverá valores) a preguntas del tipo

LlamadaAl_SP_que_no_se_escribir ¿es verdadero el CampoA?

LlamadaAl_SP_que_no_se_escribir ¿es verdadero el CampoB?

LlamadaAl_SP_que_no_se_escribir ¿es verdadero el CampoC?

LlamadaAl_SP_que_no_se_escribir ¿es verdadero el CampoD?

No se si me explico el parámetro es "el nombre del campo booleano que he
de comprobar si es verdadero".




Al margen de que está muy bien que quieras comprobar el valor de un campo
pero no especifiques a qué registro pertenece o si al sp le vas a dar el
número de registro o una clave para acceder a él, creo que deberías mirar
los libros en pantalla sobre sp_executesql, es decir, ejecución de sql
dinámica. Si especificas un poco más, podríamos ser más concretos en la
respuesta.

Un saludo
Respuesta Responder a este mensaje
#2 David
16/11/2008 - 22:58 | Informe spam
Mil gracias por contestar,

la cuestión es escribir un SP que acepte un parámetro de entrada que
corresponde con el "nombre" de un campo de la tabla a consultar para
"montar" la condición, es decir

Consulta SQL

SELECT bla, bla, bla, ...
FROM tabla
WHERE @p=1

Notas:

(1) @p coincide con el nombre de un campo de la tabla que es de tipo BIT
(2) En la tabla existen varios campos de tipo BIT

tabla
CampoA BIT
CampoB BIT
CampoC BIT
CampoD BIT
Respuesta Responder a este mensaje
#3 David
16/11/2008 - 23:11 | Informe spam
algo parecido a:


SELECT bla,bla,bla,

FROM tabla

WHERE
CASE @r
WHEN 'CampoA' THEN CampoA=1
WHEN 'CampoB' THEN CampoB=1
WHEN 'CampoC' THEN CampoC=1
WHEN 'CampoD' THEN CampoD=1
END
Respuesta Responder a este mensaje
#4 David
16/11/2008 - 23:32 | Informe spam
Me respondo a mi mismo

SELECT bla,bla,bla,

FROM tabla

WHERE
CASE @r
WHEN 'CampoA' THEN CampoA
WHEN 'CampoB' THEN CampoB
WHEN 'CampoC' THEN CampoC
WHEN 'CampoD' THEN CampoD
END =1


¿Funciona?, creo que si

Nota:
@r parámetro que identifica al campo
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida