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

Ayuda con store, consulta dinamica

Estas en el tema de Ayuda con store, consulta dinamica en el foro de SQL Server en Foros del Web. Tengo un store al cual le paso parametros para armar la consulta dinamica pero no logro que funcione, el store es el siguiente: CREATE PROCEDURE ...
  #1 (permalink)  
Antiguo 20/04/2006, 14:54
 
Fecha de Ingreso: febrero-2006
Mensajes: 8
Antigüedad: 18 años, 2 meses
Puntos: 0
Pregunta Ayuda con store, consulta dinamica

Tengo un store al cual le paso parametros para armar la consulta dinamica pero no logro que funcione, el store es el siguiente:

CREATE PROCEDURE RSOthersRecurrents
@EnterpriseSelec VarChar(100),
@Reference VarChar(10) = NULL,
@Line VarChar(18) = NULL,
@Cicle Integer = NULL,
@Orden VarChar(100)
AS

Declare @SQL varchar(3000)

Set @SQL =
'SELECT Recurrents.BusinessArrangement, Recurrents.ServiceID, Recurrents.PBI, Recurrents.BE, Recurrents.ServDescription, Recurrents.AmmountGross,
Recurrents.AmmountNet, Recurrents.AmmountDiscount, Recurrents.AmmountIVA, Recurrents.AmmountOtherTaxes, Recurrents.CC
FROM Enterprises INNER JOIN Recurrents ON Enterprises.Cidn = Recurrents.Cidn INNER JOIN
Document ON Recurrents.IdDocument = Document.IdDocument INNER JOIN
Cicles ON Document.IdCicle = Cicles.IdCicle
WHERE (CHARINDEX(Enterprises.Cidn,' + @EnterpriseSelec + ') > 0) AND ((Recurrents.BusinessArrangement = ' + @Reference + ') OR (' + @Reference + ' IS NULL))
AND ((Recurrents.ServiceID = ' + @Line + ') OR (' + @Line + ' IS NULL)) AND ((Cicles.Cicle = ' + @Cicle + ') OR (' + @Cicle + ' IS NULL))
order by ' + @Orden

exec (@SQL)

GO

La consulta original es la siguiente (que funciona pero necesito hacerla dinamica debido a que el campo del order by necesito que sea variable):

SELECT Recurrents.BusinessArrangement, Recurrents.ServiceID, Recurrents.PBI, Recurrents.BE, Recurrents.ServDescription, Recurrents.AmmountGross,
Recurrents.AmmountNet, Recurrents.AmmountDiscount, Recurrents.AmmountIVA, Recurrents.AmmountOtherTaxes, Recurrents.CC
FROM Enterprises INNER JOIN Recurrents ON Enterprises.Cidn = Recurrents.Cidn INNER JOIN
Document ON Recurrents.IdDocument = Document.IdDocument INNER JOIN
Cicles ON Document.IdCicle = Cicles.IdCicle
WHERE (CHARINDEX(Enterprises.Cidn,@EnterpriseSelec) > 0) AND
((Recurrents.BusinessArrangement = @Reference) OR (@Reference IS NULL))
AND ((Recurrents.ServiceID = @Line) OR (@Line IS NULL)) AND
((Cicles.Cicle = @Cicle) OR (@Cicle IS NULL))
order by Recurrents.BusinessArrangement

Desde ya agradezco a quien me pueda ayudar porque ya probe de todo.

Saludos SEb@
  #2 (permalink)  
Antiguo 20/04/2006, 15:14
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años
Puntos: 3
Cita:
Tengo un store al cual le paso parametros para armar la consulta dinamica pero no logro que funcione
Por que no funciona?, te sale un error o no te bota ningún resultado????
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
  #3 (permalink)  
Antiguo 20/04/2006, 15:37
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Como pequeño tip, lograrás que más gente te ayude si logras indentar tu código de una manera más digerible para que aquel que tenga la intención de ayudarte no salga huyendo despavorido al ver ese código
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 06:03.