mysql 自定義函式 建立儲存過程

2021-06-21 02:22:52 字數 1022 閱讀 6921

一、自定義函式

為了防止分號產生的中途輸出,自己定義乙個 分隔符,這裡仿照mysql官方的例子:使用兩個美元符號 $$ 作為分割符號,下面這段**就是建立乙個自定義mysql函式的原型了,可以在這個基礎上修改,這樣,建立函式就不會產生很多錯誤了.

set global log_bin_trust_function_creators = 1; -- 開啟bin_log 複製 函式建立

drop function if exists hello; -- 刪掉已經存在的

delimiter $$ -- 定義分隔符,必須要有,可以不是$$

create function hello( s varchar(30)) -- 多個引數用,分割 引數的型別必須是mysql列存在的型別

returns varchar(255) -- 指定返回值型別,如果你不確定返回文字長度,可以使用text

begin

declare str varchar(255) default 'hello '; -- 定義乙個變數,可以指定預設值

set str = concat(str,s); -- 設定改邊變數的值

return str; -- 返回值

end $$ -- 注意看清楚了,這個end後面有你在前面定義的分割符號

delimiter $$ -- 好,這裡結束。

二、建立儲存過程
create procedure greetworld() select concat(@greeting,' world');

set @greeting='hello123123';

call greetworld();

drop procedure greetworld;

MySQL 建立自定義函式

語法 create function function name 引數列表 returns返回值型別 函式體 函式名,應合法的識別符號,不應與系統關鍵字衝突。乙個函式應該屬於某個資料庫,可以使用db name.funciton name的形式執行當前函式所屬資料庫,否則為當前資料庫。引數部分,由引數...

mysql建立自定義函式與儲存過程

mysql建立自定義函式與儲存過程 一 建立自定義函式 在使用mysql的過程中,mysql自帶的函式可能不能完成我們的業務需求,這時就需要自定義函式,例如筆者在開發過程中遇到下面這個問題 mysql表結構如下 其中pic欄位為名稱,hashcode是的感知雜湊編碼 16進製制編碼字串,長度固定16...

MySql建立自定義函式(Function)

delimiter drop function if exists genperson create function genperson name varchar 20 returns varchar 50 begin declare str varchar 50 default set tabl...