"Archive" SQL Server 中的表



SQL Server 2005/2008是否有类似于MySQL归档表的内容?

我们需要的是:没有更新,没有删除,没有锁定,没有特定表的事务,只有插入和选择。

SQL Server没有存档功能,但如前所述,您可以模拟存档功能。

通过以一种特殊的方式使用triggers,您可以"欺骗"SQL Server不执行通常对表执行的任何操作。

使用INSTEAD OF触发器。

它需要更多的工作(即重复的UPDATE语句),但任何时候都可以阻止工作,而不是让它发生然后回滚,或者做其他事情。

CREATE TRIGGER [dbo].[Item_BeforeUpdate_AnyBilled]
ON [dbo].[Item]
INSTEAD OF UPDATE
AS 
BEGIN
  SET NOCOUNT ON;
  ... my code to avoid UPDATE here
END
GO

最新更新