- 创建 -- SQL的函数必须有返回值 -- create function 函数名称(参数列表) returns 返回类型 create function f1() returns int return 10; - 查看 -- 查看 mysql.proc select db,name,type from mysql.proc; - 调用 -- 调用 select f1(); - 删除 -- 删除函数 drop function f1; delete from mysql.proc where name = ‘xx‘; - 变量 -- 临时修改 delimiter // create function f1(a int,b int) returns int begin -- 定义一个变量 res declare res int default 0; -- 将 a + b的结果赋值给 res set res = a + b; -- 返回 res return res; end // delimiter ; -- 用户变量的注意点 -- 在 sql 语句中给用户变量赋值的时候 不能够使用 ‘=‘ select count(*) from mm_users; select @count = count(*) from mm_users; -- ‘=‘ 表示判断是否相等 - 判断 判断 if 条件1 then 语句1; elseif 条件2 then 语句2; else 语句 end if; - 循环 循环 while 条件 do 语句; end while; 退出循环:leave,相当于break 退出本次循环:iterate,相当于continue - 示例 delimiter // create function f3() returns varchar(300) begin -- 1. 声明递增的值 i, 拼接结果的 res declare i int default 0; declare res varchar(300) default ‘‘; -- 2. 通过 while 递增 i while i <= 100 do -- 3. 判断 i 是否是偶数 if i % 2 = 0 then -- 4. 拼接偶数 set res = concat(res,‘ ‘,i); end if; -- 递增 i set i = i + 1; end while; -- 5. 返回 res return res; end // delimiter ;
原文:http://13269293.blog.51cto.com/13259293/1963254