開始編寫和使用 MySQL 儲存過程需要哪些先決條件?


在開始編寫和使用 MySQL 儲存過程之前,我們必須具備以下先決條件:

MySQL 版本

眾所周知,MySQL 5 引入了儲存過程,因此,在開始編寫和使用儲存過程之前,首先需要檢查 MySQL 的版本。可以使用以下查詢完成:

mysql> Select VERSION();
+-----------+
| VERSION() |
+-----------+
| 5.7.20    |
+-----------+
1 row in set (0.10 sec)

當前使用者的許可權

實際上,CREATE PROCEDURE 和 CREATE FUNCTION 需要 CREATE ROUTINE 許可權。預設情況下,MySQL 會自動授予例程建立者 ALTER ROUTINE 和 EXECUTE 許可權。可以透過停用 automatic_sp_privileges 系統變數來更改此行為。可以使用以下查詢檢查當前使用者的許可權:

mysql> SHOW PRIVILEGES

選擇資料庫

在建立過程之前,我們必須從可用的資料庫中選擇一個數據庫。可以使用以下查詢完成:

mysql> USE query;
Database changed

從上面的查詢可以清楚地看出,我們正在使用名為“query”的資料庫。

選擇分隔符

分隔符是用於完成 SQL 語句的字元或字元字串。預設情況下,我們使用分號 (;) 作為分隔符。但這在儲存過程中會導致問題,因為過程可以包含許多語句,並且每個語句都必須以分號結尾。因此,對於您的分隔符,請選擇一個在語句或過程中很少出現的字串。我們可以選擇雙反斜槓 // 或雙美元符號 $$ 或任何其他我們選擇的分隔符。可以使用以下查詢完成:

mysql> DELIMITER // ;

現在,預設分隔符已更改為 // 符號,可以透過以下查詢進行檢查:

mysql> Select * from student_info //
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 100  | Aarav   | Delhi      | Computers  |
| 101  | YashPal | Amritsar   | History    |
| 105  | Gaurav  | Jaipur     | Literature |
| 110  | Rahul   | Chandigarh | History    |
+------+---------+------------+------------+
4 rows in set (0.00 sec)

更新於: 2020-06-22

208 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告