如何在SQL Server中应用循环条件

时间:2016-05-07 15:54:42

标签: sql sql-server sql-server-2008 tsql

Create procedure [dbo].[proc_Search_Username](@username varchar(25))
as 
  begin
    Declare @AccStatus int
    Set @AccStatus = 15

     while (@AccStatus = (select account_status from users where username like @username+'%'))
       begin
         select username from users where username like @username+'%'
       end
  end

在上面的存储过程中,我希望获取所有用户信息.. username"a"开头同时我想检查他们account is active or inactive如果帐户为inactive我不想显示他们的信息......只有active user信息。

1 个答案:

答案 0 :(得分:1)

尝试这样的事情......

Create procedure [dbo].[proc_Search_Username](@username varchar(25))
as 
begin
    Declare @AccStatus int
    Set @AccStatus = 15;

         select username from users 
         where username like @username+'%'
         and account_status = @AccStatus
end

没有真正看到为什么你会在程序中为@AccStatus声明一个变量然后分配一个值然后将它传递给查询的原因,只需将值传递给查询,除非你打算传递这个变量到程序。然后使它成为过程变量。