2

ユーザー テーブルでユーザー名とパスワードが一致する場合、アクセス トークンを生成したいと考えています。しかし、以前の戻り値を次の挿入クエリに使用するにはどうすればよいですか? 欠損値を ###I don't know### でマークしました。

CREATE PROCEDURE [dbo].[GetAccessToken]
    @userId varchar(50),
    @password varchar(50)
AS
   SELECT Id 
   FROM Users 
   WHERE UserId = @userId AND Password = @password 

   IF @@ROWCOUNT != 0 
   BEGIN
       SET @token = NEWID();

       INSERT INTO AccessTokens (Token, UserId) 
       VALUES(CONVERT(varchar(255), @token), ###I Don't Know###)
        END
       RETURN 0
   END

私を助けてください。前もって感謝します。

4

3 に答える 3

2

@userIdを 2 番目のパラメータとして渡すだけです。INSERT

INSERT INTO AccessTokens (Token, UserId) 
VALUES(CONVERT(varchar(255), @token), @userId)
于 2013-04-20T08:49:59.397 に答える
1

これを試して:

CREATE PROCEDURE [dbo].[GetAccessToken]
    @userId varchar(50),
    @password varchar(50)
AS
   DECLARE @ID INT
   SELECT @ID = Id 
   FROM Users 
   WHERE UserId = @userId AND Password = @password 

   IF (@ID IS NOT NULL )
   BEGIN
       SET @token = NEWID();

       INSERT INTO AccessTokens (Token, UserId) 
       VALUES(CONVERT(varchar(255), @token), @ID)

       RETURN 0
   END
于 2013-04-20T08:47:13.477 に答える