Tengo la siguiente Stored Procedure que apunta a un servidor linkeado.
Código SQL:
Ver original
ALTER PROCEDURE SpRetornaIdExpediente @VALOR1 VARCHAR(50)=NULL, @VALOR2 VARCHAR(4)= NULL, @SQL VARCHAR(8000)=NULL, @finalQuery VARCHAR(8000)=NULL, @msg AS VARCHAR(8000) OUTPUT AS BEGIN SET NOCOUNT ON; BEGIN Tran Tadd BEGIN Try SET @SQL = 'SELECT SEP.ID ID_EXPEDIENTE, SEP.FECHA FROM TABLA SEP WHERE SEP.HISTORICO = 0 AND SEP.VALOR1 = ' + ''''+ '''' + @MIC+''''+'''' SET @finalQuery = 'SELECT * FROM OPENQUERY(SERVERLINK,' + '''' + @SQL + '''' + ')' EXEC(@finalQuery) SET @msg = 'Operación realizada correctamente.' COMMIT TRAN Tadd END try BEGIN Catch SET @msg = 'Ocurrio un Error: ' + ERROR_MESSAGE() + ' en la línea ' + CONVERT(NVARCHAR(4000), ERROR_LINE() ) + '.' ROLLBACK TRAN Tadd END Catch END 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
SET @SQL = 'SELECT SEP.ID ID_EXPEDIENTE, SEP.FECHA FROM TABLA SEP WHERE SEP.HISTORICO = 0 AND SEP.COMPARACION = ' + ''''+ '''' + @VALOR1+''''+'''' 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.