## 創建存儲函數
```sql
create function 函數名(參數)
returns type
[函數特性...] SQL語句;
```
### 參數列表
參數列表形式如下:
```sql
[ in|out|inout ] 參數
```
|類型|說明|
|-|-|
|in|表示輸入參數|
|out|表示輸出參數|
|inout|表示既可以輸入也可以輸出|
### 存儲特性
存儲特性有以下取值:
+ language sql 說明(SQL內容)部分是由sql語句組成
+ [not] deterministic 指明執行結果是[否]確定的,相同輸入得到相同結果為確定,
+ {contains sql|no sql|reads sql data|modifies sql data} 指明SQL語言的限制
+ contains sql 表明包含sql語句,但是不包含讀寫數據
+ no sql 表明不包含sql語句
+ reads sql data 說明包含讀數據的語句
+ modifies sql data 表明包含寫sql語句
+ sql security{definer|invoker} 指明誰有權限執行
+ definer 表示定義者才能執行
+ invoker 表示調用者才能執行
+ comment 'string' 注釋信息
## 調用存儲函數
```sql
select 存儲函數名([參數[,參數]...]);
```
## 查看存儲函數
```sql
show function status [like '值'];
```
## 修改存儲過程
可以修改存儲過程的特性,如果要修改過程,必須刪除后重寫代碼
```sql
alter function 存儲函數名稱 [存儲特性...];
```
## 刪除存儲過程
```sql
drop function [if exists] 存儲函數名稱;
```
- 簡介
- 數據庫
- 數據表
- 創建數據表
- 查看數據表結構
- 修改數據表
- 刪除數據表
- 查詢數據
- 表單查詢
- 聚合查詢
- 鏈接查詢
- 子查詢
- 聯合查詢
- 正則查詢
- 數據管理
- 數據類型
- 添加數據
- 更新數據
- 刪除數據
- 索引
- 索引分類
- 設計原則
- 添加索引
- 查看索引
- 刪除索引
- 視圖
- 視圖操作
- 視圖應用
- 事務
- 觸發器
- 存儲過程和函數
- 變量
- 異常處理
- 光標
- 流程控制
- 存儲過程
- 自定義函數
- 內置函數
- 數學
- 字符串
- 日期和時間
- 條件判斷
- 系統信息
- 加/解密
- 其他
- 用戶管理
- 登錄和退出
- 新建用戶
- 刪除用戶
- 修改用戶
- 找回ROOT密碼
- 權限管理
- 備份恢復
- 備份數據
- 恢復數據
- 日志
- 二進制日志
- 錯誤日志
- 查詢日志
- 慢查詢日志
- 性能優化
- 優化查詢語句
- 優化數據庫結構
- 優化服務器
- 主從復制
- WIN系統主從復制
- Linux單機主從復制
- Linux聯機主從復制
- 參數配置
- 日常管理和維護
- 切換主從服務器
- PHP操作
- 連接
- 創建數據庫
- 插入數據
- 插入多條數據
- 預處理語句
- 查詢數據
- 預處理語句
- 實戰應用
- 分表