SQL Server中的“存档”表

时间:2015-12-16 13:32:20

标签: sql-server sql-server-2008 sql-server-2005

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

我们需要什么:没有更新,没有删除,没有锁定,没有特定表的交易,只有插入和选择。

1 个答案:

答案 0 :(得分:0)

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