相关疑难解决方法(0)

SQL Proc'转换失败'从varchar到int.为何转换?

我的问题是......为什么从varchar转换为int?我不确定它想要做什么

CREATE PROCEDURE #myTestProcedure 
(
    @TransId VARCHAR(15)
) 
AS
BEGIN
    DECLARE @Result VARCHAR(15);

WITH TestCTE (TransId, AdjRefTransId) AS
(
    SELECT TRANSID, ADJREFTRANSID
    FROM dbo.MyTable
    WHERE TRANSID = @TransId

    UNION ALL

    SELECT pet.TRANSID, pet.ADJREFTRANSID
    FROM dbo.MyTable AS pet
    JOIN TestCTE
        ON TestCTE.ADJREFTRANSID = pet.TRANSID
)

SELECT @Result = 
(
    SELECT MAX(MyResult)
    FROM dbo.MyOtherTable
    WHERE TRANSID = TestCTE.TRANSID
)        
FROM TestCTE
WHERE TestCTE.ADJREFTRANSID = ''

RETURN @Result
END

EXEC dbo.#myTestProcedure @TransId = 'MyTransId'
Run Code Online (Sandbox Code Playgroud)

错误:

Msg 245, Level 16, State 1, Procedure #myTestProcedure …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server procedure

3
推荐指数
1
解决办法
50
查看次数

标签 统计

procedure ×1

sql-server ×1

t-sql ×1