程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server編寫存儲過程小工具(一)

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

編輯:關於SqlServer

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


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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved