Home All Groups Group Topic Archive Search About

Syntax error converting the varchar value

Author
26 Sep 2006 4:35 PM
Rob
Hi,

While I can run the following stmt. explicitly:

--start
DECLARE @iMiscItemId INT
DECLARE @iPaymentItemId INT

SELECT @iMiscItemId = TEMPLATE_ITEM_ID FROM T_GL_TEMPLATE_ITEM
WHERE ITEM_NAME = 'MISC'

SELECT @iPaymentItemId = TEMPLATE_ITEM_ID FROM T_GL_TEMPLATE_ITEM
WHERE ITEM_NAME = 'PMT_CREDIT'

SELECT CASE TRX.TEMPLATE_ITEM_ID
        WHEN NULL THEN CAST(@iMiscItemId AS VARCHAR(20))
        WHEN CAST(@iPaymentItemId AS VARCHAR(20)) THEN CAST(@iMiscItemId AS
VARCHAR(20))
        ELSE TRX.TEMPLATE_ITEM_ID
        END AS     TEMPLATE_ITEM_ID
--end

....I am unable to run in a stored procedure, using the following:
::::::::::::::
SET @sSelect = 'SELECT CASE TRX.TEMPLATE_ITEM_ID
        WHEN NULL THEN CAST('+@iMiscItemId+' AS VARCHAR(20))
        WHEN CAST('+@iPaymentItemId+' AS VARCHAR(20)) THEN CAST('+@iMiscItemId+'
AS VARCHAR(20))
        ELSE TRX.TEMPLATE_ITEM_ID
        END AS TEMPLATE_ITEM_ID '
::::::::::::::

It reports back error string: Syntax error converting the varchar
value....to a column of data type int.

Not sure what I'm doing wrong here. If someone could please help me out
it'll be much appreciated. Thanks.

AddThis Social Bookmark Button