2011-12-06 87 views
0

我想要創建一個接受字符串的過程,爲該字符串搜索表和指定的列,如果發現它,則返回1,否則返回零。我對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');