編碼的世界 / 優質文選 / 歷史

MySql創建自定義函數(Function)


2022年7月23日
-   

1.創建自定義函數


DELIMITER $$
DROP FUNCTION IF EXISTS genPerson$$
CREATE FUNCTION genPerson(name varchar(20)) RETURNS varchar(50)
BEGIN
DECLARE str VARCHAR(50) DEFAULT '';
SET @tableName=name;
SET str=CONCAT('create table ', @tableName,'(id int, name varchar(20));');
return str;
END $$
DELIMITER ;

   (1)DELIMITER $$  定義結束符。MySQL默認的結束符是分號,但是函數體中可能用到分號。為了避免沖突,需要另外定義結束符。
   (2)DROP FUNCTION IF EXISTS genPerson$$  如果函數genPerson已經存在了,就刪除掉。
   (3)CREATE FUNCTION 創建函數genPerson,函數的參數是name,返回值是varchar(50)。
   (4)函數體放在BEGIN 與 END之間。
   (5)DECLARE 聲明變量,str類型是varchar(50),默認值是空。
   (6)CONCAT連接多個字符串。
   (7)RETURN 返回拼接後的字符串str。

2.執行


select genPerson('student');


 
 

熱門文章