The problem is how you try to use parameters in LIKE clauses.
. @creatorID @nodeType LIKE - xml, (, LITERALLY "% creatorID =" @creatorID "
, :
SELECT TOP (@max) [nodeId]
FROM [dbo].[cmsContentXml]
WHERE [xml] like '%creatorID="@creatorID"%'
AND [xml] like '%nodeType="@nodeType"%'
ORDER BY [nodeId] DESC
:
SELECT TOP (@max) [nodeId]
FROM [dbo].[cmsContentXml]
WHERE [xml] like '%creatorID="' + CAST(@creatorID AS VARCHAR(50)) + '"%'
AND [xml] like '%nodeType="' + CAST(@nodeType AS VARCHAR(50)) + '"%'
ORDER BY [nodeId] DESC
- :
DECLARE @SQL NVARCHAR(1000)
SET @SQL = '
SELECT TOP (@max) [nodeId]
FROM [dbo].[cmsContentXml]
WHERE [xml] like ''%creatorID="'' + CAST(@creatorID AS VARCHAR(50)) + ''"%''
AND [xml] like ''%nodeType="'' + CAST(@nodeType AS VARCHAR(50)) + ''"%''
ORDER BY [nodeId] DESC'
exec sp_executesql @SQL,
N'@max int,@creatorID int,@nodeType int',
@max=50,@creatorID=29,@nodeType=1086