ストアドプロシージャ内のselectステートメントが行を返すかどうかを確認するにはどうすればよいですか。
select * from creditcards;
If sqlcod = 0 THEN
たとえば、このようなことをしたいのですが、sqlcodがMySqlで機能していないようです。
ストアドプロシージャ内のselectステートメントが行を返すかどうかを確認するにはどうすればよいですか。
select * from creditcards;
If sqlcod = 0 THEN
たとえば、このようなことをしたいのですが、sqlcodがMySqlで機能していないようです。
を使用してみてくださいCOUNT
、
DELIMITER $$
CREATE PROCEDURE procName()
BEGIN
SET @recCount = (select count(*) from creditcards);
If @recCount = 0 THEN
-- statement here ;
END IF;
END $$
DELIMITER ;
以下のようにも使用してみてください:
使用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 $$