MySQL打印函数中变量的值
我有一个MySQL函数。在这个函数中,我想在它运行时打印变量的值MySQL打印函数中变量的值,mysql,function,Mysql,Function,我有一个MySQL函数。在这个函数中,我想在它运行时打印变量的值 DELIMITER $$ CREATE DEFINER=`root`@`localhost` FUNCTION `updateCompanyName`(companyName varchar(200)) RETURNS varchar(200) CHARSET latin1 BEGIN declare modifiedCompanyName varchar(200); DECLARE keywordToRem
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
打印值的最佳方式是什么:keywordToRemove
和modifiedCompanyName
?您可以创建表(或临时表)来存储调试信息,并向该表插入所需的值
此外,您还可以使用GUI工具(试用版)轻松调试存储过程/函数/触发器。您可以创建表(或临时表)来存储调试信息,并向该表插入所需的值
此外,您还可以使用GUI工具(试用版)轻松调试存储过程/函数/触发器。您不能。但是,您可以使用MySQL的信号强制执行错误,然后读取错误输出。您缺少一个continue处理程序。对于调试,我有时会使用相同的主体定义一个存储过程(减去任何
RETURN
语句),然后使用SELECT
输出调试状态。我想您可以将调试信息写入(临时?)然后从表中读取它。不过,我没有这方面的经验,所以在有人确认这确实有效之前,我不会写这篇文章作为答案。你不能。但是,您可以使用MySQL的信号强制执行错误,然后读取错误输出。您缺少一个continue处理程序。对于调试,我有时会使用相同的主体定义一个存储过程(减去任何RETURN
语句),然后使用SELECT
输出调试状态。我想您可以将调试信息写入(临时?)然后从表中读取它。不过,我没有这方面的经验,所以在有人确认这确实有效之前,我不会写这篇文章作为答案。