if记录存在的mySQL用户定义函数

时间:2013-11-21 22:06:56

标签: mysql user-defined-functions

我正在寻找mysql中一个简单的用户定义函数的东西,它根据是否找到记录返回true或false。我正在努力的是语法 任何可以指引我正确方向的MySQL投注者......

delimiter $$

CREATE DEFINER=`root`@`localhost` FUNCTION `doesItExist`(`id` int) RETURNS bool
BEGIN
  declare var_name bool;
  IF (EXISTS (select 1 into var_name 
  from table_name 
  where id = id;))
  return var_name;
END$$

1 个答案:

答案 0 :(得分:1)

不确定具有此类功能的重点是什么,这应该有效:

DROP FUNCTION IF EXISTS `IS_RECORD_EXISTS`;

DELIMITER $$
CREATE FUNCTION `IS_RECORD_EXISTS`(`FIELD_VALUE` INT) RETURNS bool
BEGIN
  DECLARE flag bool DEFAULT false;

  SELECT  EXISTS(
  SELECT 
    * 
  FROM 
    `City`
  WHERE 
    `id` = FIELD_VALUE) INTO flag;
  RETURN flag;
END$$