MySQL--函數
阿新 • • 發佈:2017-09-07
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 ;
MySQL--函數