Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-03-2007
Viky Viky is offline
Miembro
 
Registrado: abr 2006
Posts: 76
Poder: 19
Viky Va por buen camino
Parametro nulo en un procedimiento almacenado

Hola a todos:
Quiero preguntarles como hacer lo siguiente:
Tengo un procedimieto q recibe un parámetro, el cual algunas veces tiene un valor y otras veces puede ser nulo.
Lo que quiero es generar la misma consulta para ambos casos. Es decir no tener q escirbir la misma consulta pero sin el where cuando el parametro es nulo.
Ejemplo
Si el parametro es nulo:

select * from tabla

Si el parametro no es nulo:

select * from tabla where columna=parametro.

Como podria armar la consulta para q funcione en los dos casos??? pero sin poner la sentencia If en el procedimiento almacenado.

Muchas Gracias
Viky.
Responder Con Cita
  #2  
Antiguo 28-03-2007
Viky Viky is offline
Miembro
 
Registrado: abr 2006
Posts: 76
Poder: 19
Viky Va por buen camino
Creo q la solucion seria:

select * from tabla where (paramtero is null) or (columna=parametro)
Responder Con Cita
  #3  
Antiguo 29-03-2007
Avatar de LordRiper
LordRiper LordRiper is offline
Miembro
 
Registrado: mar 2007
Posts: 22
Poder: 0
LordRiper Va por buen camino
Código SQL [-]
if (parametro is null) then
  select * from tabla
else
  select * from table where x= : parametro
__________________
-- Salim Giacoman --
Torreon, Coahuila, Mx
giacoman_salim@hotmail.com


“Entre más aprendo, más quiero saber.
Entre más sé, más quiero aprender"
Responder Con Cita
  #4  
Antiguo 29-03-2007
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Cita:
Empezado por Viky
Como podria armar la consulta para q funcione en los dos casos??? pero sin poner la sentencia If en el procedimiento almacenado.
Creo que no aplica.

Se me ocurre así :P (esto es una fumada jajajajaj)

Código SQL [-]

Declare
  @VVConsula As VarChar(100), --Almacena la consulta a ejecutar
  @VVCriterio As VarChar(50)    -- Almacena el criterio si es aplicable

  Set @VVCriterio = Case When @Parametro Is Null Then ' where x= ' + @Parametro Else ' ' End 

  Set @VVConsulta = 'select * from tabla ' + @VVCriterio

  Exec  (@VVConsulta)

:P insito es una fumada.
__________________
Conoce mi blog http://www.edgartec.com

Última edición por poliburro fecha: 29-03-2007 a las 22:50:37.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Establecer a nulo un parámetro efelix Conexión con bases de datos 8 28-10-2006 16:18:59
Pasar parametro DateTime nulo YaninaGenia .NET 8 25-07-2006 22:49:59
Procedimiento almacenado LucianoRey MS SQL Server 2 23-08-2005 00:37:06
Procedimiento almacenado y Ado LucianoRey MS SQL Server 11 06-07-2004 22:55:23
Pasar parametro a un procedimiento? danytorres Varios 2 12-12-2003 09:55:09


La franja horaria es GMT +2. Ahora son las 05:58:49.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi