SQL Server - Store Procedure

 
Vista:
Imágen de perfil de Juan José
Val: 2
Ha aumentado su posición en 24 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Store Procedure

Publicado por Juan José (7 intervenciones) el 26/02/2021 08:43:44
Hola, estoy intentando hacer una búsqueda desde un controlador que conecta con la bbdd y le envía los datos en un DataTable.
La idea es la siguiente, se ejecuta la siguiente query desde el controlador.
1
2
3
EXEC NombreProcedimiento NombreColumnas="+columnasSolicitar+" IdUsuario="+idUsuario+"
     IdSesion= "+sesion+" "
Entonces no sé si es correcto hacer lo siguiente:
1
2
3
4
5
@NombresColumnas,
@IdUsuario
@IdSesioin
 
SELECT @NombresColumnas FROM TablaTMP WHERE IdUsuario = @idUsuario and IdSesion=@IdSesion
¿Me devolvería la tabla con los datos que se guardan en TablaTMP en las columnas que yo le pase?
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
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Store Procedure

Publicado por Isaias (4558 intervenciones) el 26/02/2021 20:09:48
No es correcto, debe ejecutar

1
2
3
4
5
DECLARE @SQLString NVARCHAR(1000)
SET @SQLString = N'SELECT ' + @NombresColumnas + ' FROM TablaTMP
WHERE IdUsuario = ' + @idUsuario + ' and IdSesion=  '+ @IdSesion
-- PRINT @SQLString  -- Para ver el contenido de la variable @SQLString
EXECUTE sp_executesql @SQLString

Esto se conoce como Query Dinamico
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