您的位置:首頁技術文章
文章詳情頁

SQL Server編寫存儲過程小工具(一)

瀏覽:112日期:2023-11-04 10:48:33

eNet技術學院,版權所有

在開發數據庫系統的過程中,經常要寫很多的存儲過程。為了統一格式和簡化開發過程,我編寫一些存儲過程,用來自動生成存儲過程。下面就為您簡單介紹一下它們。其中一個用于生成Insert過程,另一個用于生成Update過程。

Sp_GenInsert

該過程運行后,它為給定的表生成一個完整的Insert過程。如果原來的表有標識列,您得將生成的過程中的SET IDNTITY_INSERT ON 語句手工刪除。

語法如下

sp_GenInsert < Table Name >,< Stored Procedure Name >

以northwind 數據庫為例

sp_GenInsert ’Employees’, ’INS_Employees’

最后會生成一個Insert存儲過程。利用它,您可以作進一步的開發。

Sp_GenUpdate

它會為一個表生成update存儲過程。語法如下:

sp_GenUpdate < Table Name >,< Primary Key >,< Stored Procedure Name >

以northwind 數據庫為例

sp_GenUpdate ’Employees’,’EmployeeID’,’UPD_Employees’

運行后生成如下所示的存儲過程:

Create Procedure UPD_Employees

@EmployeeID int

@LastName nvarchar(40) ,

@FirstName nvarchar(20) ,

@Title nvarchar(60) ,

@TitleofCourtesy nvarchar(50) ,

@BirthDate datetime ,

@HireDate datetime ,

@Address nvarchar(120) ,

@City nvarchar(30) ,

@Region nvarchar(30) ,

@PostalCode nvarchar(20) ,

@Country nvarchar(30) ,

@HomePhone nvarchar(48) ,

@Extension nvarchar(8) ,

@Phote image ,

@Notes ntext ,

@ReportsTo int ,

@PhotoPath nvarchar(510)

AS

UPDATE Employees

SET

LastName = @LastName,

FirstName = @FirstName,

Title = @Title,

TitleofCourtesy = @TitleofCourtesy,

BirthDate = @BirthDate,

HireDate = @HireDate,

Address = @Address,

City = @City,

Regin = @Regin,

PostalCode = @PostCode,

Country = @Country,

HomePhone = @HomePhone,

Extension = @Extension,

Photo = @Photo

Notes = @Notes,

ReportsTo = @ReportsTo,

PhotoPath = @PhotoPath

WHERE EmployeeID = @EmployeeID

使用以上的兩個存儲過程,節省了我不少時間。特別是在改變了表結構后,重新構造各個存儲過程的過程中。您可以改寫這兩個程序,來自動生成別的存儲過程。

標簽: Sql Server 數據庫
国产综合久久一区二区三区