返回nvarchar的存储过程(userId)

时间:2014-08-10 18:45:14

标签: sql sql-server database stored-procedures

我已经创建了一个存储过程,可以在收到userIDtoken时返回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

最后一行的输出错误。我在其他程序上使用相同的东西没有问题。

这里有什么问题?

1 个答案:

答案 0 :(得分:0)

您的过程采用的参数顺序与您在EXECUTE调用中传递的顺序不同。

@userId, @tokenType, @token
@tokenType, @token, @userId