2
IF( @ActiveStatus = 1 )
BEGIN 
    @PasswordStatus = 3 
END
ELSE 
    SET @PasswordStatus = (SELECT password_status 
                             FROM tbl_user
                            WHERE login_name = @LoginName_fromApp
                              AND password=@Pass
                           )

Microsoft SQL ServerManagementStudioを使用しています。

4

3 に答える 3

2

はい

句では、IF変数を設定する必要があるため、selectまたはを使用し、直接書き込みsetを行わないでください@PasswordStatus = 3set/select @PasswordStatus = 3

試す

if( @ActiveStatus = 1 ) 
begin 
--chage of code 

 set @PasswordStatus = 3 --or select @PasswordStatus = 3
   END
else 
begin
Set @PasswordStatus = (select password_status from tbl_user where  login_name=@LoginName_fromApp and password=@Pass)

end

編集

-@ marc_sのコメント「スカラー」値を設定する場合は、SET @Var = 3を使用します。実際にテーブル(またはビュー)から選択する場合は、SELECT @Var = IDFROMdbo.Table1を使用します。

于 2012-07-26T06:52:20.563 に答える
0

valuerを任意の変数に設定する場合は、次のように設定を使用します

if( @ActiveStatus = 1 )
begin
Set @PasswordStatus = 3 
END
else 
begin
Set @PasswordStatus = (select password_status from tbl_user where
login_name=@LoginName_fromApp and password=@Pass)
end
Select @PasswordStatus 
于 2012-07-26T06:55:12.293 に答える
0

もう1つ

select 
        @PasswordStatus = case when @ActiveStatus = 1 then 3 else password_status  end
from 
    tbl_user  
where  
        login_name = @LoginName_fromApp and password=@Pass
于 2012-07-26T08:13:15.923 に答える