国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql存儲過程和存儲函數有哪些差別

2024-07-24 12:33:30
字體:
來源:轉載
供稿:網友
  什么是存儲過程?
 
  存儲過程是在大型數據庫系統中,一組為了完成特定功能的SQL語句集,存儲在數據庫中,經過第一次編譯后再次調用不需要再次編譯,用戶通過指定存儲過程的名字和參數(如果該存儲過程有參數)來執行它。存儲過程是數據庫中的一個重要對象,任何一個設計良好的數據庫應用程序都應該用到存儲過程。
  
  存儲過程和存儲函數的區別
 
  1、總述
 
  存儲過程和存儲函數統稱為存儲例程。兩者的語法很相似,但卻是不同的內容。
 
  存儲函數限制比較多,比如不能用臨時表,只能用表變量。還有一些函數都不可用等等。
 
  而存儲過程的限制就相對比較少,要實現的功能比較復雜一些。
 
  2、返回值上的不同
 
  存儲函數將向調用者返回一個且僅有一個結果值。
 
  存儲過程將返回一個或多個結果集(函數做不到這一點),或者只是來實現某種效果或動作而無需返回結果。
 
  3、調用方式的不同
  存儲函數嵌入在sql中使用的,可以在select中調用,就像內置函數一樣,比如cos()、sin()。
 
  4、參數的不同
 
  存儲函數的參數類型類似于IN參數
 
  存儲過程的參數類型有三種:IN參數、OUT參數、INOUT參數
 
  in:數據只是從外部傳入內部使用(值傳遞),可以是數值也可以是變量
 
  out:只允許過程內部使用(不用外部數據),給外部使用的(引用傳遞:外部的數據會被先清空才會進入到內部),只能是變量
 
  inout:外部可以在內部使用,內部修改的也可以給外部使用,典型的引用 傳遞,只能傳遞變量。
 
  存儲過程是用戶定義的一系列sql語句的集合,設計特定表或其它對象的任務,用戶可以調用存儲過程。
 
  而函數通常是數據庫已定義的方法,它接收參數并返回某種類型的值并且不涉及特定用戶表。

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 抚顺市| 灵武市| 博兴县| 岐山县| 奉新县| 织金县| 大安市| 滨海县| 军事| 稷山县| 左云县| 大港区| 子洲县| 德令哈市| 安仁县| 都昌县| 延边| 连城县| 汽车| 沁源县| 崇信县| 洪泽县| 谷城县| 衡东县| 万年县| 姚安县| 新平| 孝义市| 牙克石市| 五大连池市| 亳州市| 新乡县| 泌阳县| 菏泽市| 西乌珠穆沁旗| 镇康县| 怀化市| 隆尧县| 广东省| 丰宁| 贵溪市|