2013-02-12 107 views
3

如何檢查存儲過程中的select語句是否返回任何行。檢查存儲過程中的select語句是否返回行

select * from creditcards; 
If sqlcod = 0 THEN 

我想要做這樣的事情,例如但SQLCOD似乎並沒有在MySQL的。

+0

'sqlcod'不是MySQL中的關鍵字,或其他任何我知道的數據庫。檢查你得到它的代碼,這是一個變量。 – 2013-02-12 03:25:30

回答

7

使用COUNT嘗試,

DELIMITER $$ 
CREATE PROCEDURE procName() 
BEGIN 
    SET @recCount = (select count(*) from creditcards); 
    If @recCount = 0 THEN 
     -- statement here ; 
    END IF; 
END $$ 
DELIMITER ; 
1

嘗試使用類似下面還有:

使用FOUND_ROWS()SQL_CALC_FOUND_ROWS

DELIMITER $$ 

create procedure myproc() 
begin 
    SELECT SQL_CALC_FOUND_ROWS * 
    FROM tbl_name 
    WHERE id > 100 
    LIMIT 10; 

    if SELECT FOUND_ROWS() = 0 then 
    -- log away bro! 
    end if; 
end $$ 
DELIMITER $$ 
相關問題