【问题标题】:How to have a MySQL procedure return a boolean?如何让 MySQL 过程返回布尔值?
【发布时间】:2011-12-06 22:55:14
【问题描述】:

我想创建一个接收字符串的过程,在表和指定列中搜索该字符串,如果找到则返回 1,否则返回 0。我对 SQL 比较陌生,不太了解语法或命令。我想要这样的东西:

CREATE PROCEDURE dbo.GetUsername

(
@Username   NCHAR(10)
)

AS   
    @boolVariable
SELECT  @Username FROM Accounts  
RETURN  @boolVariable

【问题讨论】:

    标签: asp.net mysql sql stored-procedures


    【解决方案1】:

    您不返回值,而是在结果集中提供该值。

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

    在您的调用代码中,只需检查结果集中是否存在一行。

    【讨论】:

      【解决方案2】:

      我不确定您是否在寻找 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');
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-02-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-07
        • 2013-08-18
        • 2013-05-21
        相关资源
        最近更新 更多