MYSQL的自訂函數

來源:互聯網
上載者:User

標籤:mysql的自訂函數

自訂函數

使用者自訂函數是一種對MYSQL擴充的途徑,其用法與內建函數相同

函數可以返回任意類型的值,同樣可以接收這些類型的參數

函數體由合法的SQL語句構成

函數體可以是簡單的SELECT或INSERT語句

函數體如果為複合結構則使用BEGIN...END語句

複合結構可以包含聲明,迴圈,複製結構

建立不帶參數的自訂函數

第一步CREATE  FUNCTION  函數名 ()  FETURNS  字串長度如VARCHAR(30)

第二步RETURN  類型(如DATE)_FORMAT  (NOW(),函數內容如’%Y年%m月%d日 %H點:%i分:%s秒’);

建立帶有參數的自訂函數

第一步CREATE  FUNCTION   函數名如f1(參數類型和參數個數如num1  字元長度如SMALLINT  字元類型如UNSIGNED,  參數類型和參數個數如num2  字元長度如SMALLINT   字元類型如UNSIGNED)

第二步RETUPNS 傳回值類型如 FLOAT(10,2)  UNSIGNED

第三步RETUPNS 傳回值如(num1+num2)/2;

調用函數

SELECT 函數名 (參數名如10,15);

修改當前MYSQL的預設定界符

DELIMITER  新的定界符

建立具有複合結構函數體的自訂函數(建立前要先修改MYSQL的預設定界符為//,建立好後要修改回;)

第一步CREATE  FUNCTION adduser(使用者名稱如username  字元長度如VARCHAR(20)

第二步RETURNS 資料類型如INT 字元類型如UNSIGNED

第三步BEGIN

第四步INSERT 表名(使用者名稱)VALUES(使用者名稱);

第五步RETURNLAST_INSERT_ID();

第六步END

第七步 //

MYSQL的自訂函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.