2011-12-06 4 views
0

文字列を取り、その文字列のテーブルと指定された列を検索し、見つかった場合は1を返し、見つからない場合は0を返します。私は比較的新しいSQLを使用しており、構文やコマンドをよく理解していません。私はこのようなものが欲しい:MySQLプロシージャにブール値を返す方法は?

CREATE PROCEDURE dbo.GetUsername 

(
@Username NCHAR(10) 
) 

AS 
    @boolVariable 
SELECT @Username FROM Accounts 
RETURN @boolVariable 

答えて

1

あなたは値を返すのではなく、代わりに結果セットに入力します。

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

呼び出しコードでは、結果セットに行が存在するかどうかを確認するだけです。

0

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'); 
関連する問題