While running this code:
DECLARE @strSelectQuery NVARCHAR(MAX),
@strColumnList NVARCHAR(MAX),
@strTempTable NVARCHAR(50),
@strMainTable NVARCHAR(50)
SET @strTempTable = 'TempdimRevenueCode'
SET @strMainTable = 'dimRevenueCode'
SET @strColumnList = 'DBID,Revenue_Code_ID,Revenue_Code_AltID,revenue_code,revenue_code_description,BeginUTCDateTime,EndUTCDateTime,IsCurrent'
SELECT @strSelectQuery = COALESCE(@strSelectQuery,'UNION ALL') + ' UNION ALL ' + CHAR(13)
+ ' SELECT '+CONVERT(VARCHAR,DBID) +' as ' + @strColumnList + CHAR(13)
+ ' FROM ['+ InstanceName +'].['+DBName+'].dbo.'+@strMainTable + CHAR(13)
+ ' WHERE BeginUTCDateTime > ' + CHAR(13)
+' (SELECT ISNULL( MAX(BeginUTCDateTime) ,''1900-01-01'') FROM '+@strMainTable + ' WHERE DBID='+CONVERT(VARCHAR,DBID)+')'+CHAR(13)
+' OR EndUTCDateTime > ' + CHAR(13)
+' (SELECT ISNULL( MAX(BeginUTCDateTime) ,''1900-01-01'') FROM '+@strMainTable + ' WHERE DBID='+CONVERT(VARCHAR,DBID)+')'+CHAR(13)
FROM adminODSDBDetails
WHERE Active_TF = 1 and ClientProductName='GEMINI'
SELECT @strSelectQuery
EXECUTE sp_executesql @strSelectQuery
When selecting the dynamic statement (select @strSelectQuery), it is shown as NULL.
If I remove ClientProductName='GEMINI' from the dynamic code and select @strSelectQuery, it is printing a valid SQL statement.
SELECT * FROM adminODSDBDetails WHERE Active_TF = 1 and ClientProductName='GEMINI'?