MySQL打印函数内部变量的值

时间:2013-01-15 10:12:06

标签: mysql function

我有MySQL功能。在这个函数里面,我想在变量运行时打印变量值。

DELIMITER $$

CREATE DEFINER=`root`@`localhost` FUNCTION
  `updateCompanyName`(companyName varchar(200)) RETURNS varchar(200)
  CHARSET latin1 BEGIN

  declare modifiedCompanyName varchar(200); 
  DECLARE keywordToRemove varchar(200); 

  DECLARE cur1 CURSOR FOR SELECT name FROM company_remove_keywords;

  select regex_replace('[^a-zA-Z 0-9]', "",companyName) into modifiedCompanyName;

  OPEN cur1;  
    read_loop: LOOP
      FETCH cur1 INTO keywordToRemove;
      select keywordToRemove;

      select replace_ci(modifiedCompanyName,
             concat(" ",keywordToRemove," ")," ") 
             into modifiedCompanyName;
      select replace_ci(modifiedCompanyName,
             concat(" ",keywordToRemove),"")
             into modifiedCompanyName;
    END LOOP;

  CLOSE cur1; 
  return modifiedCompanyName; 
END

打印值的最佳方法是:keywordToRemovemodifiedCompanyName

1 个答案:

答案 0 :(得分:1)

您可以创建表(或临时表)来存储调试信息,并将所需的值插入此表。

此外,您可以使用GUI工具轻松调试存储过程/函数/触发器 - Debugger for MySQL(尝试试用版)。