mysql中的自定义函数
生活随笔
收集整理的這篇文章主要介紹了
mysql中的自定义函数
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、基本語(yǔ)法
delimiter 自定義符號(hào) -- 如果函數(shù)體只有一條語(yǔ)句, begin和end可以省略, 同時(shí)delimiter也可以省略
create function 函數(shù)名(形參列表) returns 返回類型 -- 注意是retruns
begin
函數(shù)體 -- 函數(shù)內(nèi)定義的變量如:set @x = 1; 變量x為全局變量,在函數(shù)外面也可以使用
返回值
end
自定義符號(hào)
delimiter ;
二、示例
-- 自定義函數(shù)
delimiter $$
create function myfun3(ia int, ib int) returns int
begin
return ia + ib;
end
$$
delimiter ;
三、查看函數(shù)
1. show function status [like 'pattern']; -- 查看所有自定義函數(shù), 自定義函數(shù)只能在本數(shù)據(jù)庫(kù)使用。
2. show create function 函數(shù)名; -- 查看函數(shù)創(chuàng)建語(yǔ)句
四、刪除函數(shù)
drop function 函數(shù)名;
五、綜合應(yīng)用
1. 使用全局變量
-- 計(jì)算1 ~ 指定數(shù)據(jù)之間的和
delimiter $$
create function my_sum(x int) returns int
begin
set @i = 1;
set @sum = 0;
while @i <= x do
set @sum = @sum + @i;
set @i = @i + 1;
end while;
return @sum;
end
$$
delimiter ;
2. 使用局部變量
-- 求1 ~ 指定數(shù)之前的和,但5的倍數(shù)不加
delimiter $$
create function my_sum2(x int) returns int
begin
declare i int default 1;
declare sum int default 0;
sumwhile:while i <= x do
if i % 5 = 0 then
set i = i + 1;
iterate sumwhile;
end if;
set sum = sum + i;
set i = i + 1;
end while;
return sum;
end
$$
delimiter ;
總結(jié)
以上是生活随笔為你收集整理的mysql中的自定义函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SpringBoot整合JOOQ例子(二
- 下一篇: pytorch查看全连接层的权重和梯度