6

ストアドプロシージャ内のselectステートメントが行を返すかどうかを確認するにはどうすればよいですか。

select * from creditcards;
If sqlcod = 0 THEN

たとえば、このようなことをしたいのですが、sqlcodがMySqlで機能していないようです。

4

2 に答える 2

10

を使用してみてくださいCOUNT

DELIMITER $$
CREATE PROCEDURE procName()
BEGIN
    SET @recCount = (select count(*) from creditcards);
    If @recCount = 0 THEN
        -- statement here ;
    END IF;
END $$
DELIMITER ;
于 2013-02-12T03:20:08.970 に答える
2

以下のようにも使用してみてください:

使用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 $$
于 2013-02-12T04:17:09.103 に答える