Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/04/2011, 12:46
Wladeck
 
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 12
Antigüedad: 16 años, 8 meses
Puntos: 0
Pregunta Mas de una variable en una Query de Stored Procedure

Amigos.
Tengo la siguiente Stored Procedure que apunta a un servidor linkeado.

Código SQL:
Ver original
  1. ALTER PROCEDURE SpRetornaIdExpediente
  2.  
  3. @VALOR1 VARCHAR(50)=NULL,
  4. @VALOR2 VARCHAR(4)= NULL,
  5. @SQL VARCHAR(8000)=NULL,
  6. @finalQuery VARCHAR(8000)=NULL,
  7. @msg AS VARCHAR(8000) OUTPUT
  8.  
  9. AS
  10. BEGIN
  11.     SET NOCOUNT ON;
  12.  
  13.     BEGIN Tran Tadd
  14.  
  15.     BEGIN Try
  16.  
  17. SET @SQL = 'SELECT SEP.ID ID_EXPEDIENTE,  SEP.FECHA
  18. FROM TABLA SEP
  19. WHERE SEP.HISTORICO = 0
  20. AND SEP.VALOR1 = ' + ''''+ '''' + @MIC+''''+''''
  21.  
  22. SET @finalQuery = 'SELECT * FROM OPENQUERY(SERVERLINK,' + '''' + @SQL + '''' + ')'
  23.  
  24. EXEC(@finalQuery)
  25.  
  26.         SET @msg = 'Operación realizada correctamente.'
  27.  
  28.         COMMIT TRAN Tadd
  29.  
  30.     END try
  31.     BEGIN Catch
  32.  
  33.     SET @msg = 'Ocurrio un Error: ' + ERROR_MESSAGE() + ' en la línea ' + CONVERT(NVARCHAR(4000), ERROR_LINE() ) + '.'
  34.         ROLLBACK TRAN Tadd
  35.  
  36.     END Catch
  37.  
  38. END
  39. GO

Ahora el cuento es que además de filtrar por un valor (VALOR1) filtre por un segundo valor (VALOR2) que para colmo es el año contenido en una fecha.

Código SQL:
Ver original
  1. SET @SQL = 'SELECT SEP.ID ID_EXPEDIENTE,  SEP.FECHA
  2. FROM TABLA SEP
  3. WHERE SEP.HISTORICO = 0
  4. AND SEP.COMPARACION = ' + ''''+ '''' + @VALOR1+''''+''''
  5. AND TO_CHAR(SEP.FECHA,'YYYY') = ' + ''''+ '''' + @VALOR1+''''+''''

así devería ser pero arroja una enormidad de errores con las condenadas Comillas... Agradeceré toda la ayuda respecto a esto

Un Abrazo.