SQL Server - duda en store procedures

 
Vista:

duda en store procedures

Publicado por leo (12 intervenciones) el 23/01/2006 16:59:00
Hola a todos, tengo un pequeña duda que no se si pueda afectar el rendimiento en un store procedure, o si no es recomendable hacerlo... la duda es la siguiente:
Yo declaro 15 parametros de entrada y los inicializo en null, luego hago un insert sobre la tabla pero antes pregunto si ninguno de los parametros es null, es decir:
if (@param1<>null and @param2<>null And .... @param15<>null) then
...hago el insert
End

esta validacion la debo hacer por que no puedo ingressar valores nulos en la tabla. entonces mi duda es ¿cuantas camparaciones puedo hacer en un if? ¿si hago muchas comparaciones, me puede afectar en algo el rendimiento o cualquier otra cosa?

Muchas gracias...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:duda en store procedures

Publicado por Liliana (151 intervenciones) el 23/01/2006 18:28:03
Hola Leo,
Desconozco si hay algún límite en la cantidad de condiciones a evaluar en un IF.
Lo que sí te recomendaría, en caso de estar lanzando este SP desde una aplicación, es que no llegaras a ejecutarlo si no se cumplen las condiciones, no llegues al servidor si podés validar el contenido de los parámetros en el front.
Saludos,
Liliana.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:duda en store procedures

Publicado por Juan José (1 intervención) el 19/02/2006 01:48:02
Hola Leo,
no se si muchas comparaciones puedan o no alterar el rendimiento, pero... ¿por que no usas la función ISNULL?

La función ISNULL devuelve el valor indicado si el argumento es nulo.
Por ejemplo

DECLARE @miVar nvarchar (5)
SET @miVar = null
SELECT ISNULL (@miVar, '')

como @miVar es nulo, devuelve vacio, si, en cambio

DECLARE @miVar nvarchar (5)
SET @miVar = 'hola'
SELECT ISNULL (@miVar, '')

devolvería 'hola'

En lugar de hacer un IF, directamente haces el INSERT. Espero te sirva.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar