I have a stored procedure like this:
DECLARE @comando as varchar(5000)
SET @comando = 'DTEXEC /FILE \"" /de "pass" /CHECKPOINTING OFF /REPORTING EW'
SELECT @comando = @comando + ' /SET "\"\Package.Variables[' + Replace(str_NombreVariable,'User::','') + '].Value\"";'
+ CASE WHEN str_NombreVariable LIKE '%v_sCadenaConexion%'
THEN '"\"'+ str_ValorVariable +'\""'
ELSE str_ValorVariable +
CASE WHEN str_NombreVariable LIKE '%v_sRutaArchivo%'
THEN @v_sRutaArchivo + '.csv\""'
ELSE ''
END
END + ''
from [Catalogo].[catVariablesEtl] where IdPaquete = @idPaquete
I want to add another validation with another case, so I try:
SELECT @comando = @comando + ' /SET "\"\Package.Variables[' + Replace(str_NombreVariable,'User::','') + '].Value\"";'
+ CASE WHEN str_NombreVariable LIKE '%v_sCadenaConexion%'
+ CASE WHEN str_NombreVariable LIKE '%v_sRutaArchivo%'
THEN '"\"'+ str_ValorVariable +'\""'
ELSE str_ValorVariable +
CASE WHEN str_NombreVariable LIKE '%v_sRutaArchivo%'
THEN @v_sRutaArchivo + '.csv\""'
ELSE ''
END
END + ''
from [Catalogo].[catVariablesEtl] where IdPaquete = @idPaquete
I get
incorrect syntax near "from"
What am I doing wrong? I need to add another THEN sentence if I add another CASE
? regards
As comment of missing statement I change it to:
UPDATE:
SELECT @comando = @comando + ' /SET "\"\Package.Variables[' + Replace(str_NombreVariable,'User::','') + '].Value\"";'
+ CASE WHEN str_NombreVariable LIKE '%v_sCadenaConexion%'
THEN '"\"'+ str_ValorVariable +'\""'
+ CASE WHEN str_NombreVariable LIKE '%v_sRutaArchivo%'
THEN'"\"' +str_ValorVariable +''
ELSE str_ValorVariable +
CASE WHEN str_NombreVariable LIKE '%v_sRutaArchivo%'
THEN @v_sRutaArchivo + '.csv\""'
ELSE ''
END
END
END + ''
from [Catalogo].[catVariablesEtl] where IdPaquete = @idPaquete
but when I do a select it return NULL
value. Why it happens?