我們有一個數據庫(SQL Server 2005),我們希望得到源代碼管理。作爲其中的一部分,我們將有一個版本表來存儲數據庫的當前版本號。有沒有辦法將該表限制爲只保存一行?或者將版本號存儲在表中是一個壞主意?您可以限制(數據庫)表中的行數嗎?
結束了使用這種方法:
CREATE TABLE [dbo].[DatabaseVersion]
(
[MajorVersionNumber] [int] NOT NULL,
[MinorVersionNumber] [int] NOT NULL,
[RevisionNumber] [int] NOT NULL
)
GO
Insert DataBaseVersion (MajorVersionNumber, MinorVersionNumber, RevisionNumber) values (0, 0, 0)
GO
CREATE TRIGGER DataBaseVersion_Prevent_Delete
ON DataBaseVersion INSTEAD OF DELETE
AS
BEGIN
RAISERROR ('DatabaseVersion must always have one Row. (source = INSTEAD OF DELETE)', 16, 1)
END
GO
CREATE TRIGGER DataBaseVersion_Prevent_Insert
ON DataBaseVersion INSTEAD OF INSERT
AS
BEGIN
RAISERROR ('DatabaseVersion must always have one Row. (source = INSTEAD OF INSERT)', 16, 1)
END
GO
,而不是引發錯誤,插入可能只是默默地改變爲更新。 – 2008-12-29 23:11:16