如何在SQL Server中生成和使用CRUD存儲過程

通過優銳課核心java學習筆記中,我們可以看到,碼了很多專業的相關知識, 分享給大家參考學習。

在本文中,請參閱如何在SQL Server中生成和使用CRUD存儲過程。

大多數數據庫系統基於縮寫CRUD調用的最簡單的4種數據操作操作進行操作。 此首字母縮寫詞代表CREATE,READ,UPDATE和DELETE。

在開發和管理數據庫時,可以使用CRUD存儲過程來執行所有與數據有關的任務。 這種存儲過程的好處是,一旦編寫了一次,便可以根據需要重複使用多次,而無需每次都編寫新代碼。 這是對臨時SQL語句的重大改進,臨時SQL語句應在每次使用它們時重新編寫。

讓我們詳細瞭解每個CRUD存儲過程。

仔細研究CRUD存儲過程

在繼續之前,我們要談一談CRUD存儲過程的命名。 通常,以這樣一種方式命名它們是一個好習慣,即每個過程都包含要應用到的表的名稱,並以它們正在執行的操作的名稱結尾。 這樣,爲同一表編寫的所有過程將被分組在一起,並且更容易搜索。

但是,它不是強制性的,你可以遵循自己喜歡的任何命名方式。

現在,讓我們看一下第一種過程類型。

創建程序

這些將執行INSERT語句,創建一個新記錄。 此類過程應爲表的每一列接受一個參數。


SQL

1
IF OBJECT_ID('Sales.usp_Currency_Insert') IS NOT NULL BEGIN      DROP PROC Sales.usp_Currency_Insert  END  GO CREATE PROC Sales.usp_Currency_Insert      @CurrencyCode NCHAR(3),     @Name dbo.Name,     @ModifiedDate datetime AS      SET NOCOUNT ON      SET XACT_ABORT ON  
2
BEGIN TRAN
3

4
INSERT INTO Sales.Currency (CurrencyCode, Name, ModifiedDate)
5
SELECT @CurrencyCode, @Name, @ModifiedDate
6

7
/*
8
-- Begin Return row code block
9

10
SELECT CurrencyCode, Name, ModifiedDate
11
FROM   Sales.Currency
12
WHERE  CurrencyCode = @CurrencyCode AND Name = @Name AND ModifiedDate = @ModifiedDate
13

14
-- End Return row code block
15

16
*/
17
COMMIT
18
GO

閱讀程序

READ過程根據輸入參數中提供的主鍵檢索表記錄。

SQL

IF OBJECT_ID('Sales.usp_Currency_Select') IS NOT NULL BEGIN      DROP PROC Sales.usp_Currency_Select  END GO CREATE PROC Sales.usp_Currency_Select     @CurrencyCode NCHAR(3),     @Name dbo.Name AS     SET NOCOUNT ON      SET XACT_ABORT ON  
BEGIN TRAN
SELECT CurrencyCode, Name, ModifiedDate 
FROM   Sales.Currency
WHERE  CurrencyCode = @CurrencyCode AND Name = @Name  
CMMIT
GO

更新程序

這些過程將主鍵用於WHERE子句中指定的記錄,以對錶執行UPDATE語句。 就像CREATE過程一樣,它爲每個表列接受一個參數。

SQL

1
IF OBJECT_ID('Sales.usp_Currency_Update') IS NOT NULL BEGIN      DROP PROC Sales.usp_Currency_Update END GO CREATE PROC Sales.usp_Currency_Update @CurrencyCode NCHAR(3), @Name dbo.Name, @ModifiedDate datetime AS      SET NOCOUNT ON      SET XACT_ABORT ON  
2
BEGIN TRAN
3

4
UPDATE Sales.Currency
5
SET   ModifiedDate = @ModifiedDate
6
WHERE CurrencyCode = @CurrencyCode AND Name = @Name
7

8
/*
9
-- Begin Return row code block
10

11
SELECT ModifiedDate
12
FROM   Sales.Currency
13
WHERE CurrencyCode = @CurrencyCode AND Name = @Name
14

15
-- End Return row code block
16

17
*/
18
COMMIT
19
GO

刪除程序

此過程將刪除該語句的WHERE子句中提供的行。

SQL

1
IF OBJECT_ID('Sales.usp_Currency_Delete') IS NOT NULL BEGIN      DROP PROC Sales.usp_Currency_Delete END  GO CREATE PROC Sales.usp_Currency_Delete  @CurrencyCode NCHAR(3), @Name dbo.Name AS      SET NOCOUNT ON      SET XACT_ABORT ON  
2
BEGIN TRAN
3

4
DELETE
5
FROM   Sales.Currency
6
WHERE  CurrencyCode = @CurrencyCode AND Name = @Name
7

8
COMMIT
9
GO

使用dbForge SQL Complete生成CRUD過程

使用在SSMS和Visual Studio中均可使用的dbForge SQL Complete加載項,我們只需單擊幾下即可使用各種選項生成CRUD過程,這些選項允許配置這些過程的確切生成方式。 在本文中,我們將使用SSMS來顯示SQL Complete的功能。

要爲表生成CRUD過程,請右鍵單擊該表,轉到“ SQL Complete”菜單,然後單擊“ Script Table as CRUD”:

完成此操作後,將打開一個新的SQL文件。 在這裏,你可以看到該表的所有CRUD操作。

更改CRUD生成設置
要配置dbForge SQL Complete如何生成CRUD,你首先需要轉到窗口頂部的SQL Complete菜單,然後單擊“選項”:

結果將在“選項”窗口中打開,轉到“ CRUD”菜單,然後單擊“常規”:

在此選項卡中,你可以指定CRUD生成過程中包括哪些過程,並指定要使用的列順序(按字母順序還是按序數)。

你也可以通過在CRUD菜單中選擇相應的選項來分別配置每個過程。 首先,你可以手動更改生成的過程的名稱:

接下來,每個過程都有唯一的選項。

對於SELECT,如果輸入參數爲null,則有一個Return all data複選框。
對於INSERT,你可以指定是否在完成時返回插入的行

UPDATE提供了類似的選項-它使你可以選擇是否要返回更新的行。

沒有其他用於刪除的唯一選項。
最後,對於每個過程,都有“代碼模板”部分。 在本部分中,你可以更改指定過程的代碼的生成方式。 在代碼模板中,以$ name $格式提供了參數(例如$ schema $或$ columns $)。 通過更改這些參數,可以修改所生成過程的代碼。

結論

如你所見,使用CRUD命令實現和管理數據操作過程比使用臨時SQL語句更爲可取。 藉助dbForge SQL Complete加載項,可以輕鬆完成此操作。 但是,使用CRUD並不是唯一的功能(而且很長一段時間)。

喜歡這篇文章的可以點個贊,歡迎大家留言評論,記得關注我,每天持續更新技術乾貨、職場趣事、海量面試資料等等
 > 如果你對java技術很感興趣也可以交流學習,共同學習進步。 
不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代

文章寫道這裏,歡迎完善交流。最後奉上近期整理出來的一套完整的java架構思維導圖,分享給大家對照知識點參考學習。有更多JVM、Mysql、Tomcat、Spring Boot、Spring Cloud、Zookeeper、Kafka、RabbitMQ、RockerMQ、Redis、ELK、Git等Java乾貨
如何在SQL Server中生成和使用CRUD存儲過程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章