ストアドファンクション その1

DROP FUNCTION IF EXISTS FIND_CATEGORY;

DELIMITER //

CREATE FUNCTION FIND_CATEGORY (category_title VARCHAR(32)) RETURNS INT
  BEGIN
    DECLARE HAS_TITLE_ID INT DEFAULT 0;

    SELECT `id` INTO HAS_TITLE_ID FROM `bbs_category` WHERE `title` = category_title;

    IF 0 < HAS_TITLE_ID
      RETURN 0;
    ELSE
      INSERT INTO `bbs_category` (`title`, `registered`) VALUES (category_title, NOW);
      RETURN 1;
    END IF;
  END
//

DELIMITER ;

ストアドファンクションの定義を確認する

mysql SHOW FUNCTION STATUS;

ストアドファンクションの処理内容を確認する

mysql SHOW CREATE FUNCTION  FIND_CATEGORY;