我已经创建了一个存储过程,可以在收到userID
和token
时返回tokenType
。
存储过程如下所示:
CREATE PROCEDURE [dbo].[UserTokens_Insert]
(
@userId nvarchar(128) OUT
,@tokenType int
,@token uniqueidentifier
)
AS
/* Execution example
proc I'm working on...
DECLARE @userId nvarchar(128)
DECLARE @tokenType INT
DECLARE @token uniqueidentifier
'1415926535897932384626433832795',
'2',
'84384121-cac4-41f7-9bb9-8983b8c3ebb8'
execute [dbo].[UserTokens_Insert] @userId, @tokenType, @token
*/
BEGIN
SELECT [userId]
FROM [dbo].[UserTokens]
WHERE [UserId] = @userId
AND [TokenType] = @tokenType
AND [Token] = @token
EXECUTE dbo.UserToken_Insert @tokenType, @token, @userId out
最后一行的输出错误。我在其他程序上使用相同的东西没有问题。
这里有什么问题?
答案 0 :(得分:0)
您的过程采用的参数顺序与您在EXECUTE调用中传递的顺序不同。
@userId, @tokenType, @token
@tokenType, @token, @userId