通過優銳課核心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乾貨