【问题标题】:How do I get value of a column from select operation and use it in another select operation in a stored procedure?如何从选择操作中获取列的值并在存储过程的另一个选择操作中使用它?
【发布时间】:2018-05-21 13:53:31
【问题描述】:
ALTER PROCEDURE sp_GetLoginInformation
(
    @userid INT OUTPUT,
    @UserName NVARCHAR(50),
    @Password NVARCHAR(50)
)
AS
BEGIN
    IF EXISTS (SELECT @userid = UserId 
               FROM tblLoginInfo 
               WHERE UserName = @UserName COLLATE SQL_Latin1_General_CP1_CS_AS 
                 AND Password = @Password COLLATE SQL_Latin1_General_CP1_CS_AS)
    BEGIN
        SELECT *  
        FROM tblUserInformation 
        WHERE UserId = @userid
    END
END

【问题讨论】:

标签: asp.net sql-server stored-procedures


【解决方案1】:

标记了一个变量@COL 以在其他查​​询中使用它。

请用 cmets 检查修改后的程序。

ALTER PROCEDURE sp_GetLoginInformation ( @userid int output, @UserName nvarchar(50), @Password nvarchar(50) ) as 
begin 
  ------ VARIABLE TO STORE INFORMATION FROM SELECT STATEMENT
  DECLARE @COL VARCHAR(50);
  IF EXISTS (Select @userid=UserId from tblLoginInfo where UserName=@UserName COLLATE SQL_Latin1_General_CP1_CS_AS and Password=@Password COLLATE SQL_Latin1_General_CP1_CS_AS) 
  BEGIN 
  ------ ASSIGNING THE VALUE IN DECLARED VAARIABLE THROUGH SELECT STATEMENT
     Select @COL=Column_NAME from tblUserInformation where UserId=@userid;
  END 
------------------ USE OF THE DECALRED VARAIBLE IN OTHER QUERY -------------
  SELECT * FROM SECOND_TABLE WHERE COLUMN_NAME = @COL;

END

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多