什麼是 SQL 存儲過程以及如何創建它們?

什麼是 SQL 存儲過程以及如何創建它們?

存儲過程是在數據庫中創建和存儲的一批 SQL 語句。您可以一遍又一遍地重用存儲過程。

存儲過程可以接受參數、運行查詢並返回結果。許多用戶可以調用存儲過程,不同的應用程序可以使用不同的參數值調用它。

使用存儲過程有什麼好處?

除了允許多個用戶和應用程序重用它之外,存儲過程還有其他好處。

  • 很容易修改。您可以在必要時更改存儲過程,這些更新將反映給所有用戶。此外,您無需在修改存儲過程時重新部署應用程序。
  • 它減少了網絡流量,因為服務器只通過網絡傳遞過程的名稱而不是整個查詢。
  • 它提高了數據庫安全性,因為用戶無法直接訪問表。要進行更改,他們需要調用存儲過程。這可以防止 SQL 注入攻擊,因為用戶無法直接寫入基礎表。

像 MySQL 這樣的數據庫引擎有許多你應該知道的安全特性。

在 SQL Server 中創建存儲過程的語法

創建存儲過程的語法如下:

CREATE PROCEDURE procedure_name
AS
sql_statement
GO;

運行此命令以執行存儲過程。

EXEC procedure_name;

SQL Server 中的簡單存儲過程示例

下面是一個從文章數據庫中選擇所有文章的存儲過程示例。

CREATE PROCEDURE All_Articles
AS
SELECT * FROM Article
GO;

這是一個簡單的示例,但您可以使用存儲過程做更多的事情,例如接受參數和更新記錄。

如何創建接受參數的存儲過程

例如,修改簡單存儲過程以接受一個數字作為參數,並使用它返回查看次數高於該數字的帖子。

CREATE PROCEDURE Popular_Articles(@views int)
AS
SELECT * FROM Article
WHERE views_count >= @views_count
GO;

使用此命令執行帶參數的存儲過程。

EXEC Popular_Articles 300;

該過程返回查看次數高於 300 的文章。

在使用存儲過程之前先學習 SQL

存儲過程讓您可以重用一組 SQL 語句。它們還可以提高數據庫安全性、減少網絡流量並且易於修改。

因此,了解存儲過程很重要,但您必須首先對 SQL 有紮實的了解。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *