存储函数是有返回值的存储过程,存储函数的参数只能是in类型的。 create function 存储函数名称{[参数列表]} returns type [characteristic.....] begin -- sql 语句 return; end; characteristic 说明: deterministic:相同的输入参数总是产生相同的结果 no sql : 不包含sql语句 reads sql data:包含读取数据的语句,但不包括写入数据的语句。
create function fun1(n int) returns int deterministic begin declare total int default 0; while n>0 do set total := total + n; set n :=n - 1; -- 逻辑还写错了 end while; return total; end; drop function fun1; select fun1(100);