1. 程式人生 > >MySql建立自定義函式(Function)

MySql建立自定義函式(Function)

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