MySQL函数

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.创建

MySQL函数_第1张图片

     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.提交

MySQL函数_第2张图片

      5.使用

select suchen_server_items.get_tree_2(66);

 

你可能感兴趣的:(数据库)