MySql建立自定義函式(Function)
阿新 • • 發佈:2018-12-12
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(20)。
(4)函式體放在BEGIN 與 END之間。
(5)DECLARE 宣告變數,str型別是archar(50),預設值是空。
(6)CONCAT連線多個字串。
(7)RETURN 返回拼接後的字串str。
2.執行
select genPerson('student');