校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 關于MySQL的存儲函數(自定義函數)的定義和使用方法詳解

關于MySQL的存儲函數(自定義函數)的定義和使用方法詳解

熱門標簽:甘孜電話機器人廠家 中科嘉智人工智能電銷機器人 做地圖標注都需要什么工具 電銷機器人好品牌門薩維l 上海智能外呼系統需要多少錢 銀川電銷外呼系統定制 西安400電話在哪里辦理 哈爾濱crm外呼系統價格 凱立德科技館地圖標注

存儲函數

什么是存儲函數: 封裝一段sql代碼,完成一種特定的功能,返回結果。

存儲函數的語法:

create function 函數([函數參數[,….]]) Returns 返回類型

  Begin

    If(

      Return (返回的數據)

    Else 

      Return (返回的數據)

    end if;

  end;

例如: create function count_news(hits int) returns int

與存儲過程返回參數不同的是存儲函數在定義時沒用直接聲明哪個變量是返回參數,而只是使用了returns聲明了返回參數所屬的數據類型,返回參數是在函數體中使用return返回要返回的數據變量的形式來表示的。這就需要注意的是:
存儲函數只支持輸入參數,并且輸入參數前沒有IN或INOUT.

存儲函數中的限制

流控制(Flow-of-control)語句(IF, CASE, WHILE, LOOP, WHILE, REPEAT, LEAVE,ITERATE)也是合法的.

變量聲明(DECLARE)以及指派(SET)是合法的.

允許條件聲明.

異常處理聲明也是允許的.

但是在這里要記住函數有受限條件:不能在函數中訪問表.因此在函數中使用以下語句是非法的。

ALTER 'CACHE INDEX' CALL COMMIT CREATE DELETE
DROP 'FLUSH PRIVILEGES' GRANT INSERT KILL
LOCK OPTIMIZE REPAIR REPLACE REVOKE
ROLLBACK SAVEPOINT 'SELECT FROM table'
'SET system variable' 'SET TRANSACTION'
SHOW 'START TRANSACTION' TRUNCATE UPDATE

存儲函數與存儲過程的區別

一、 存儲函數有且只有一個返回值,而存儲過程不能有返回值。

二、 函數只能有輸入參數,而且不能帶in, 而存儲過程可以有多個in,out,inout參數。

三、 存儲過程中的語句功能更強大,存儲過程可以實現很復雜的業務邏輯,而函數有很多限制,如不能在函數中使用insert,update,delete,create等語句;存儲函數只完成查詢的工作,可接受輸入參數并返回一個結果,也就是函數實現的功能針對性比較強。

四、 存儲過程可以調用存儲函數。但函數不能調用存儲過程。

五、 存儲過程一般是作為一個獨立的部分來執行(call調用)。而函數可以作為查詢語句的一個部分來調用。

實例1:

Id

Name 

QQ

phone

秦云 

10102800

13500000

在路上

10378

13600000

LEO

10000

  13900000

Id

Name 

上機時間

管理員

1

秦云 

2004-1-1 

李大偉

2

秦云

2005-1-1

馬化騰

在路上 

2005-1-1 

馬化騰

秦云

2005-1-1

李大偉

5

在路上

2005-1-1

李大偉

實現目的:

從表1中取所有人員列表,從表2中取上機次數和管理員.

上機人員名單    上機次數             管理員
秦云               3             李大偉,馬化騰,李大偉
在路上           2            馬化騰,李大偉
LEO              0     

您可能感興趣的文章:
  • MySQL 自定義函數CREATE FUNCTION示例
  • 深入mysql創建自定義函數與存儲過程的詳解
  • MySQL中文漢字轉拼音的自定義函數和使用實例(首字的首字母)
  • 淺談mysql 自定義函數
  • Mysql中實現提取字符串中的數字的自定義函數分享
  • mysql建立自定義函數的問題
  • MySQL自定義函數簡單用法示例
  • MYSQL自定義函數判斷是否正整數的實例代碼
  • MySQL自定義函數和存儲過程示例詳解
  • MySQL通過自定義函數實現遞歸查詢父級ID或者子級ID
  • mysql自定義函數原理與用法實例分析

標簽:那曲 安康 四川 濮陽 山南 安徽 浙江 平頂山

巨人網絡通訊聲明:本文標題《關于MySQL的存儲函數(自定義函數)的定義和使用方法詳解》,本文關鍵詞  關于,MySQL,的,存儲,函數,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《關于MySQL的存儲函數(自定義函數)的定義和使用方法詳解》相關的同類信息!
  • 本頁收集關于關于MySQL的存儲函數(自定義函數)的定義和使用方法詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 永和县| 澜沧| 上林县| 克什克腾旗| 澄城县| 西城区| 孝昌县| 临猗县| 农安县| 韩城市| 确山县| 林芝县| 南江县| 赤壁市| 芜湖县| 苏州市| 北川| 天全县| 昌图县| 赤峰市| 汕头市| 大渡口区| 西华县| 揭东县| 惠州市| 寿宁县| 乐平市| 兴和县| 磐石市| 吕梁市| 纳雍县| 巫山县| 龙山县| 勃利县| 灵璧县| 武陟县| 昔阳县| 南靖县| 揭东县| 嵊泗县| 渝北区|