MySQL--函數

- 創建
-- 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 ;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章