本文共 1479 字,大约阅读时间需要 4 分钟。
#开山函数 hello worlddelimiter $$create function test() returns varchar(20)beginreturn 'hello world!';end$$delimiter ;#小测试delimiter $$create function func1() returns varchar(20)beginif hour(now())>=18 thenreturn 'late';elsereturn 'zao';end if;end$$delimiter ;#全局变量delimiter $$create function func2() returns intbeginset @i = 1;set @sum = 0;while @i<=10 doset @sum = @sum + @i;set @i = @i + 1;end while;return @sum;end$$delimiter ;delimiter $$create function func3() returns intbeginset @i = 1;set @sum = 0;w:while @i<=10 doif @i = 5 thenleave w;end if;set @sum = @sum + @i;set @i = @i + 1;end while w;return @sum;end$$delimiter ;delimiter $$create function func6() returns intbeginset @i = 0;set @sum = 0;w:while @i<10 doset @i = @i + 1;if @i = 5 theniterate w;end if;set @sum = @sum + @i;end while w;return @sum;end$$delimiter ;#参数方式,局部变量delimiter $$create function hello(name varchar(10)) returns varchar(20)beginreturn concat('hello',name);end$$delimiter ;#定义局部变量,注意mysql的跳出是需要指定循环的。delimiter $$create function func8() returns intbegindeclare i int default 0;declare total int default 0;w:while i<10 doset i = i + 1;if i = 5 theniterate w;end if;set total = total + i;end while w;return total;end$$delimiter ;#以下写一个存储过程,生成一张任意条记录的表。#生成随机字符串delimiter $$create function rand_string(n int) returns varchar(255)begindeclare chars_str varchar(100) default 'abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';declare return_str varchar(255) default '';declare i int default 0;while i
转载地址:http://hqbfm.baihongyu.com/