Как сделать, чтобы процедура MySQL возвращала логическое значение? - PullRequest
0 голосов
/ 07 декабря 2011

Я хочу создать процедуру, которая принимает строку, ищет в таблице и указанном столбце эту строку и возвращает 1, если она находит, и ноль, если этого не происходит. Я относительно новичок в SQL и не очень хорошо знаю синтаксис или команды. Я хочу что-то вроде этого:

CREATE PROCEDURE dbo.GetUsername

(
@Username   NCHAR(10)
)

AS   
    @boolVariable
SELECT  @Username FROM Accounts  
RETURN  @boolVariable

Ответы [ 2 ]

1 голос
/ 07 декабря 2011

Вы не возвращаете значение, а вместо этого указываете его в наборе результатов.

CREATE PROCEDURE GetUsername
(
   @Username   NCHAR(10)
)    
AS       
    SELECT Username FROM Accounts WHERE Username = @UserName;

В своем коде вызова просто проверьте наличие строки в наборе результатов.

0 голосов
/ 07 декабря 2011

Я не уверен, что вы ищете решение для mysql или mssql.

delimiter //
drop procedure if exists search_string //
create procedure search_string (in str varchar(100))
begin
declare b,r bool;
select count(*) into r from your_table where your_field = str;
if r > 0 then
set b = 1;
else 
set b = 0;
end if;
select b;
end; //
delimiter //

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