程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 詳細講解如何為MySQL數據庫添加新函數

詳細講解如何為MySQL數據庫添加新函數

編輯:關於MYSQL數據庫

你可以通過自定義函數接口 (UDF)來添加函數。自定義函數被編譯為目標文件,然後用CREATE FUNCTION 和DROP FUNCTION 聲明動態地添入到服務器中及從服務器中移出。
 
你可以將函數添加為MySQL固有(內建)函數。固有函數被編譯進MySQLd服務器中,成為永久可用的。

每種途徑的優點和缺點:


如果你編寫自定義函數,你除了安裝服務器本身之外還要安裝目標文件。如果將你的函數編譯進服務器中,你就不需要這麼做了。

你可以給二進制版本的MySQL分發版添加UDF。固有函數需要你去修正源碼分發版。.

如果你升級你的MySQL分發版,你可以繼續使用先前安裝了的UDF, 除非你升級到一個UDF接口改變了的新版本。對固有函數而言,每次升級你都必須重復一次修正。

無論你使用哪種方法去添加新函數,它們都可以被SQL聲明調用,就像 ABS() 或 SOUNDEX()這樣的固有函數一樣。

另一個添加函數的方法時創建存儲函數。這些函數時用SQL聲明編寫的,而不是編譯目標代碼。編寫存儲函數的語法在第20章:存儲程序和函數 中描述。

下面的小節描述UDF接口的特性,給出編寫UDF的指令,並討論MySQL為防止UDF被誤用而采取的安全預防措施。

給出源代碼的例子來說明如何編寫UDF,可以看一看MySQL源碼分發版中提供的sql/udf_example.cc 文件。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved