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');