Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Pasar parametro a Consulta (query)

Estas en el tema de Pasar parametro a Consulta (query) en el foro de SQL Server en Foros del Web. Hola a todos: Necesito hacer una consulta (query) a una tabla, pero pasandole un parametros. Explico quiero hacer un select a una tabla (TB1) para ...
  #1 (permalink)  
Antiguo 11/11/2009, 12:27
 
Fecha de Ingreso: octubre-2009
Mensajes: 9
Antigüedad: 14 años, 6 meses
Puntos: 0
Pasar parametro a Consulta (query)

Hola a todos:

Necesito hacer una consulta (query) a una tabla, pero pasandole un parametros.

Explico quiero hacer un select a una tabla (TB1) para que me devuelva los valores que no coincidan con otro Select de otra tabla (TB2), pero a este ultimo select necesito pasarle un parametro o variable como condicion y no tengo idea de como hacerlo.

Publico el Codigo para ver si alguien me puede ayudar

SELECT idUsuario, Usuario, Nombre, Apellido1
FROM dbo.TB1
WHERE (idUsuario NOT IN
(SELECT dbo.TB2.idUsuario
FROM dbo.TB2
WHERE dbo.TB2.idModulo = varIdModulo))

La varIdModulo, es la que necesito pasar como parametro, es decir que necesito que a la hora de ejecutar la consulta me permita pasarle el valor por el cual debe realizar ese select, poniendo hay cualquier valor se ejecuta perfectamente la sentencia, pero necesito que sea una valor pasado como parametro.

En espera de cualquier ayuda
Gracias
  #2 (permalink)  
Antiguo 11/11/2009, 13:59
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: Pasar parametro a Consulta (query)

Crea un procedimiento y le pasas como parametro lo que necesites pasar

CREATE PROCEDURE usp_Consulta
@varIdModulo as int
AS
BEGIN
SET NOCOUNT ON
SELECT idUsuario, Usuario, Nombre, Apellido1
FROM dbo.TB1
WHERE (idUsuario NOT IN
(SELECT dbo.TB2.idUsuario
FROM dbo.TB2
WHERE dbo.TB2.idModulo = @varIdModulo))
END

Y lo ejecutas:

EXEC usp_Consulta 2003
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:15.