Использование хранимой процедуры SQL для вывода да нет - PullRequest
2 голосов
/ 17 августа 2011

У меня есть база данных с

  • имя пользователя varchar (10)

  • номер пользователя varchar (10) .

Я хотел бы использовать хранимую процедуру, чтобы я мог искать имя пользователя и номер вместе, чтобы вернуть простое «да», если они оба совпадают, или «нет», если они не совпадают.

Как бы это было сделано в хранимой процедуре, я знаю, что есть более простые способы, но мне нужно это в формате хранимой процедуры.

Ответы [ 5 ]

4 голосов
/ 17 августа 2011
CREATE PROCEDURE dbo.IsExistingUser
     @username varchar(10)
    ,@usernumber varchar(10)
AS

IF EXISTS (SELECT 1 FROM tblUsers 
           WHERE username = @username AND usernumber = @usernumber) 
   SELECT 1
ELSE
   SELECT 0

GO
2 голосов
/ 17 августа 2011

Попробуйте эту хранимую процедуру

 CREATE PROCEDURE [dbo].[UserCheck]
     @username varchar(10)
    ,@usernumber varchar(10)
AS
    SELECT (CASE (SELECT COUNT(*) FROM  tblUsers 
                        WHERE username=@username AND usernumber=@usernumber ) 
            WHEN 0 THEN 'No' 
            ELSE 'Yes' END)
1 голос
/ 17 августа 2011

как то так

select case 
  (select id from usertable t where t.username = @username) = usernumber 
  then 
   1 
  else 
   0 
end
1 голос
/ 17 августа 2011

вы можете просто вернуть номер из хранимой процедуры. 0 или 1.

Если 1, то они совпадают, если 0 они не совпадают

CREATE PROCEDURE [dbo].[YourProcedure] 
    @username varchar(10),
    @usernumber varchar(10)

AS
BEGIN
    SET NOCOUNT ON;

    if (Select Count(*) From YOURTABLE where username = @username and usernumber = @usernumber) > 0
    begin
        Select 1
    end
    else
    begin
        Select 0
    end

END
0 голосов
/ 17 августа 2011

выберите количество (usernumber) из таблицы X, где unum = число если вы получите счет> 0, то у вас есть строка. Затем верните 1 или 0 или ват когда хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...