Hay alguna forma mejor de hacer el select ?????

09/11/2007 - 15:01 por jpablos | Informe spam
Saludos .

Muchas veces tengo que hacer un select que depende del valor de un parametro
que envio, me explico mejor

declare @codigo_departamento
set @codigo_departamento = null

declare @sql_query varchar(1000)

@sql_query = 'select *
from departamento '

if @codigo_departamento is not null
begin
@sql_query=@sql_query +' where codigo_departamento='+ str
(@codigo_departamento)
end

exec(@sql_query)

O sea que dependiendo del valor que se le envie al parametro @departamento
si es null se presenten todos los registros, pero si no es null que se
presente el que es enviado como parametro, esta es la manera en que yo lo he
estado haciendo, hay otra forma mejor

Gracias ..

Preguntas similare

Leer las respuestas

#1 news.microsoft.com
09/11/2007 - 16:30 | Informe spam
Y si validaras el parametro antes de enviarlo algo asi si es 0 o vacio que
no se envie

Luis
"jpablos" escribió en el mensaje
news:
Saludos .

Muchas veces tengo que hacer un select que depende del valor de un
parametro
que envio, me explico mejor

declare @codigo_departamento
set @codigo_departamento = null

declare @sql_query varchar(1000)

@sql_query = 'select *
from departamento '

if @codigo_departamento is not null
begin
@sql_query=@sql_query +' where codigo_departamento='+ str
(@codigo_departamento)
end

exec(@sql_query)

O sea que dependiendo del valor que se le envie al parametro @departamento
si es null se presenten todos los registros, pero si no es null que se
presente el que es enviado como parametro, esta es la manera en que yo lo
he
estado haciendo, hay otra forma mejor

Gracias ..
Respuesta Responder a este mensaje
#2 Penta
09/11/2007 - 16:50 | Informe spam
Hola.
Prueba esto:

declare @codigo_departamento as int

set @codigo_departamento=1

if @codigo_departamento is null
Begin
Select * from mt_departamento --Todos los departamento
End
else
Select codsede,* from mt_alumno
Where
codigo_departamento=@codigo_departamento --Filtro

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