Amigos.
Tengo la siguiente Stored Procedure que apunta a un servidor linkeado.
Código SQL:
Ver originalALTER 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 originalSET @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.