MySQL必知必會 使用儲存過程

2021-10-23 20:40:15 字數 1556 閱讀 7836

儲存過程簡單來說,就是為以後的使用而儲存的一條或多條mysql語句的集合。

優點:這一點的延伸就是防止錯誤。需要執行的步驟越多,出錯的可能性就越大。防止錯誤保證了資料的一致性。

這一點的延伸就是安全性。通過儲存過程限制對基礎資料的訪問減少了資料訛誤(無意識的或別的原因所導致的資料訛誤)的機會。

換句話說,使用儲存過程有3個主要的好處,即簡單、安全、高效能。

用create procedure建立名為productpricing的儲存過程。

變數(variable)記憶體中乙個特定的位置,用來臨時儲存資料。

此儲存過程接受3個引數:pl儲存產品最低**,ph儲存產品最**格,pa儲存產品平均**。

每個引數必須具有指定的型別,這裡使用十進位制值。

關鍵字out指出相應的引數用來從儲存過程傳出乙個值(返回給呼叫者)。mysql支援in(傳遞給儲存過程)、out(從儲存過程傳出,如這裡所用)inout(對儲存過程傳入和傳出)型別的引數。

儲存過程的**位於begin和end語句內,

所以為了呼叫此修改過的儲存過程,必須指定3個變數名:

所有mysql變數都必須以@開始。

另外一種:

onumber定義為in,因為訂單號被傳入儲存過程。ototal定義為out,因為要從儲存過程返回合計。select語句使用這兩個引數,where子句使用onumber選擇正確的行,into使用ototal儲存計算出來的合計。

使用:

必須給ordertotal傳遞兩個引數;第乙個引數為訂單號,第二個引數為包含計算出來的合計的變數名。

顯示:

@total已由ordertotal的call語句填寫,select顯示它包含的值。

mysql必知必會 使用MySQL

在具有可供使用的mysql dbms和客戶機軟體之後,有必要簡要討 論一下如何連線到資料庫。mysql與所有客戶機 伺服器dbms一樣,要求在能執行命令之前登 錄到dbms。登入名可以與網路登入名不相同 假定你使用網路 mysql 在內部儲存自己的使用者列表,並且把每個使用者與各種許可權關聯起來。在...

MySQL必知必會 使用子查詢

版本要求 mysql 4.1引入了對子查詢的支援,所以要想使用 本章描述的sql,必須使用mysql 4.1或更高階的版本。select語句 是sql的查詢。迄今為止我們所看到的所有 select 語句 都是簡單查詢,即從單個資料庫表中檢索資料的單條語句。查詢 query 任何sql語句都是查詢。但...

mysql必知必會 mysql必知必會(四)

十四 理解子查詢 1 通過子查詢過濾 這本書在所有的章節都關連到了資料庫表,訂單資料是儲存在兩個表中,orders表儲存著 訂單號碼 顧客id和訂單日期。個人的訂單列表關連著orderitems表,訂單表沒有儲存顧客資訊,它只是儲存著顧客id,這實際的顧客資訊是儲存在customers表中。現在假設...