Modificar Procedimiento Almacenado en Tiempo de ejecucion

23/04/2009 - 22:18 por C a r l o s A n t o n i o | Informe spam
Saludos,

Tal como indico en el asunto, necesito modificar un stored procedure en
tiempo de ejecución.

Lo que sucede es lo siguiente: Tengo que verificar el contenido de unos de
los parámetros del SP. Si el parámetro contiene un dato "X", elimino parte
del WHERE y si contiene un dato "Y" entonces restablezco la parte que
eliminé. (Espero haberme explicado).

¿Se puede hacer esto?

Gracias

Preguntas similare

Leer las respuestas

#1 Pep Lopez
23/04/2009 - 22:47 | Informe spam
Mas que modificarlo en tiempo de ejecucion... quieres que haga una cosa u
otra segun una condicion... sin ver nada de codigo.. mira las clausulas IF
que te pueden servir para hacer que segun una condicion se ejecute una
porcion de codigo que haga una cosa y segun otra condicion ejecute otra




"C a r l o s A n t o n i o" <carlvazpr¿arroba?yahoo.com> escribió en el
mensaje news:%23$
Saludos,

Tal como indico en el asunto, necesito modificar un stored procedure en
tiempo de ejecución.

Lo que sucede es lo siguiente: Tengo que verificar el contenido de unos
de los parámetros del SP. Si el parámetro contiene un dato "X", elimino
parte del WHERE y si contiene un dato "Y" entonces restablezco la parte
que eliminé. (Espero haberme explicado).

¿Se puede hacer esto?

Gracias


Respuesta Responder a este mensaje
#2 C a r l o s A n t o n i o
24/04/2009 - 01:48 | Informe spam
Mas o menos, si. Lo que sucede es que son varias consultas idénticas que se
unen para devolver un resultado. Si lograse modificar solo la porcion de
where que necesito cambiar, entonces no tendría que reescribir las consultas
y entiendo que seria mas facil de interpretar en el futuro en caso de tener
que revisarlas o modificarlas.

No es lo mismo modificar un grupo de 7 consultas de 30 lineas cada una a
modificar dos grupos idénticos de 7 consultas de 30 lineas separadas por un
IF-ELSE



"Pep Lopez" wrote in message
news:
Mas que modificarlo en tiempo de ejecucion... quieres que haga una cosa u
otra segun una condicion... sin ver nada de codigo.. mira las clausulas
IF que te pueden servir para hacer que segun una condicion se ejecute una
porcion de codigo que haga una cosa y segun otra condicion ejecute
otra




"C a r l o s A n t o n i o" <carlvazpr¿arroba?yahoo.com> escribió en el
mensaje news:%23$
Saludos,

Tal como indico en el asunto, necesito modificar un stored procedure en
tiempo de ejecución.

Lo que sucede es lo siguiente: Tengo que verificar el contenido de unos
de los parámetros del SP. Si el parámetro contiene un dato "X", elimino
parte del WHERE y si contiene un dato "Y" entonces restablezco la parte
que eliminé. (Espero haberme explicado).

¿Se puede hacer esto?

Gracias






Respuesta Responder a este mensaje
#3 Maxi
24/04/2009 - 04:43 | Informe spam
Hola, para lo que usted busca una opcion es usar sql dinamico, sp_executesql



Maxi Accotto
Microsoft MVP en SQL Server
Consultor en SQL Server



"C a r l o s A n t o n i o" <carlvazpr¿arroba?yahoo.com> escribió en el
mensaje de noticias:eX8F$
Mas o menos, si. Lo que sucede es que son varias consultas idénticas que
se unen para devolver un resultado. Si lograse modificar solo la porcion
de where que necesito cambiar, entonces no tendría que reescribir las
consultas y entiendo que seria mas facil de interpretar en el futuro en
caso de tener que revisarlas o modificarlas.

No es lo mismo modificar un grupo de 7 consultas de 30 lineas cada una a
modificar dos grupos idénticos de 7 consultas de 30 lineas separadas por
un IF-ELSE



"Pep Lopez" wrote in message
news:
Mas que modificarlo en tiempo de ejecucion... quieres que haga una cosa u
otra segun una condicion... sin ver nada de codigo.. mira las clausulas
IF que te pueden servir para hacer que segun una condicion se ejecute una
porcion de codigo que haga una cosa y segun otra condicion ejecute
otra




"C a r l o s A n t o n i o" <carlvazpr¿arroba?yahoo.com> escribió en el
mensaje news:%23$
Saludos,

Tal como indico en el asunto, necesito modificar un stored procedure en
tiempo de ejecución.

Lo que sucede es lo siguiente: Tengo que verificar el contenido de unos
de los parámetros del SP. Si el parámetro contiene un dato "X", elimino
parte del WHERE y si contiene un dato "Y" entonces restablezco la parte
que eliminé. (Espero haberme explicado).

¿Se puede hacer esto?

Gracias










Respuesta Responder a este mensaje
#4 Carlos Sacristan
24/04/2009 - 08:15 | Informe spam
Tal y como dice Maxi, lo que buscas es generar y ejecutar dinámicamente la
instrucción. Sin embargo, aunque desde tu punt o de vista tiene ventajas, en
realidad tienes que tener en cuenta varios aspectos (rendimiento, seguridad,
etc).

El artículo http://www.sommarskog.se/dynamic_sql.html explica muy bien todo
esto.


Un saludo
-
www.navento.com
Servicios de Localización GPS


"C a r l o s A n t o n i o" wrote:

Mas o menos, si. Lo que sucede es que son varias consultas idénticas que se
unen para devolver un resultado. Si lograse modificar solo la porcion de
where que necesito cambiar, entonces no tendría que reescribir las consultas
y entiendo que seria mas facil de interpretar en el futuro en caso de tener
que revisarlas o modificarlas.

No es lo mismo modificar un grupo de 7 consultas de 30 lineas cada una a
modificar dos grupos idénticos de 7 consultas de 30 lineas separadas por un
IF-ELSE



"Pep Lopez" wrote in message
news:
> Mas que modificarlo en tiempo de ejecucion... quieres que haga una cosa u
> otra segun una condicion... sin ver nada de codigo.. mira las clausulas
> IF que te pueden servir para hacer que segun una condicion se ejecute una
> porcion de codigo que haga una cosa y segun otra condicion ejecute
> otra
>
>
>
>
> "C a r l o s A n t o n i o" <carlvazpr¿arroba?yahoo.com> escribió en el
> mensaje news:%23$
>> Saludos,
>>
>> Tal como indico en el asunto, necesito modificar un stored procedure en
>> tiempo de ejecución.
>>
>> Lo que sucede es lo siguiente: Tengo que verificar el contenido de unos
>> de los parámetros del SP. Si el parámetro contiene un dato "X", elimino
>> parte del WHERE y si contiene un dato "Y" entonces restablezco la parte
>> que eliminé. (Espero haberme explicado).
>>
>> ¿Se puede hacer esto?
>>
>> Gracias
>>
>>
>
>



Respuesta Responder a este mensaje
#5 C a r l o s A n t o n i o
24/04/2009 - 15:09 | Informe spam
Muchas gracias a ambos. Muy buen dia,

C a r l o s A n t o n i o


"Carlos Sacristan" wrote in
message news:
Tal y como dice Maxi, lo que buscas es generar y ejecutar dinámicamente la
instrucción. Sin embargo, aunque desde tu punt o de vista tiene ventajas,
en
realidad tienes que tener en cuenta varios aspectos (rendimiento,
seguridad,
etc).

El artículo http://www.sommarskog.se/dynamic_sql.html explica muy bien
todo
esto.


Un saludo
-
www.navento.com
Servicios de Localización GPS


"C a r l o s A n t o n i o" wrote:

Mas o menos, si. Lo que sucede es que son varias consultas idénticas que
se
unen para devolver un resultado. Si lograse modificar solo la porcion de
where que necesito cambiar, entonces no tendría que reescribir las
consultas
y entiendo que seria mas facil de interpretar en el futuro en caso de
tener
que revisarlas o modificarlas.

No es lo mismo modificar un grupo de 7 consultas de 30 lineas cada una a
modificar dos grupos idénticos de 7 consultas de 30 lineas separadas por
un
IF-ELSE



"Pep Lopez" wrote in message
news:
> Mas que modificarlo en tiempo de ejecucion... quieres que haga una cosa
> u
> otra segun una condicion... sin ver nada de codigo.. mira las
> clausulas
> IF que te pueden servir para hacer que segun una condicion se ejecute
> una
> porcion de codigo que haga una cosa y segun otra condicion ejecute
> otra
>
>
>
>
> "C a r l o s A n t o n i o" <carlvazpr¿arroba?yahoo.com> escribió en el
> mensaje news:%23$
>> Saludos,
>>
>> Tal como indico en el asunto, necesito modificar un stored procedure
>> en
>> tiempo de ejecución.
>>
>> Lo que sucede es lo siguiente: Tengo que verificar el contenido de
>> unos
>> de los parámetros del SP. Si el parámetro contiene un dato "X",
>> elimino
>> parte del WHERE y si contiene un dato "Y" entonces restablezco la
>> parte
>> que eliminé. (Espero haberme explicado).
>>
>> ¿Se puede hacer esto?
>>
>> Gracias
>>
>>
>
>






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