1.函数
MySQL 有很多内置的函数,例如函数 ASCII(s) 返回字符串 s 的第一个字符的 ASCII 码。其实MySQL还可以自建函数,方便管理者使用。
2.函数与存储过程的区别&优缺点
https://blog.csdn.net/riemann_/article/details/100831369
3.如何使用
- workbench
1.配置
因为安全考虑,MySQL默认是不允许创建函数的(https://my.oschina.net/u/2331760/blog/854529),解决办法是进入mysql客户端输入下面的一行指令。
mysql> SET GLOBAL log_bin_trust_function_creators = 1;
2.创建
3.编辑
CREATE DEFINER=`root`@`localhost` FUNCTION `get_tree_2`(treeid int) RETURNS char(100) CHARSET utf8 COLLATE utf8_bin
BEGIN
declare parent int default treeid;
declare treename char(100) default '';
set @flag = 0;
set @result = '';
mywhile:begin
while parent !=0 or parent != null do
select count(structuretree.treeName), structuretree.treeName, structuretree.parent into @flag, treename, parent from structuretree where structuretree.treeID = parent;
if @flag < 1 then
leave mywhile;
end if;
set @result = concat(@result,'/', treename);
end while;
end;
RETURN @result;
END
4.提交
5.使用
select suchen_server_items.get_tree_2(66);