国产探花免费观看_亚洲丰满少妇自慰呻吟_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語句的集合,設計特定表或其它對象的任務,用戶可以調用存儲過程。
 
  而函數通常是數據庫已定義的方法,它接收參數并返回某種類型的值并且不涉及特定用戶表。

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湖北省| 宁德市| 精河县| 太仆寺旗| 阿克陶县| 左权县| 马尔康县| 襄垣县| 康平县| 阿图什市| 象州县| 和龙市| 斗六市| 五莲县| 壶关县| 栾川县| 上高县| 留坝县| 砀山县| 金寨县| 神农架林区| 堆龙德庆县| 新化县| 邯郸市| 华宁县| 绩溪县| 鸡西市| 莫力| 化隆| 当涂县| 秦皇岛市| 湖州市| 苍溪县| 休宁县| 乌鲁木齐县| 依兰县| 长子县| 林芝县| 西丰县| 和政县| 开化县|