mysql函數編寫

mysql中函數的編寫如下:
create function functionName([parm type],[parm1 type],……)
returns type
begin
語句;
return 值;
end;
如上就是mysql函數的編寫的模板。在函數中,不能使用select語句來打印數據,使用select來查詢數據並且賦值給變量,這個是可以的。函數是要有返回值的。
在mysql中,函數可以使用在select中進行數據的處理。
當然,函數中可以定義各種類型的變量,比如bigint,longtext,varchar,int等等數據類型,也可以定義遊標類型的數據。
在編寫完mysql函數後,如果出現創建函數的報錯
[Err] 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you might want to use the less safe log_bin_trust_function_creators variable)
,需要執行如下語句:
set global log_bin_trust_function_creators=1;
造成這個問題的原因是主從設備的安全原因。

函數的例子:
create FUNCTION functionTest(p_con VARCHAR(400))
RETURNS VARCHAR(400)
BEGIN
DECLARE v_con VARCHAR(400);
set v_con = p_con;
SELECT p_con into v_con;
return v_con;
end;

select functionTest('baiduc');

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章