【发布时间】:2011-04-09 12:27:53
【问题描述】:
当表格的行发生改变时,这些改变的行被写入XML,并让我知道表格已经改变了。
我该怎么做?
【问题讨论】:
-
问题是我无法更改存储的 proc 。也许我可以添加一个触发器。但我怎么会知道这些变化。有什么好办法吗?
标签: sql-server sql-server-2000
当表格的行发生改变时,这些改变的行被写入XML,并让我知道表格已经改变了。
我该怎么做?
【问题讨论】:
标签: sql-server sql-server-2000
如果您正在寻找严格的 TSQL 或 SQL Server 解决方案:
UPDATE、DELETE和INSERT功能。UPDATE、DELETE和INSERT
第二个不太吸引人的解决方案:您还可以使用表上的触发器来捕获UPDATE、DELETE 和INSERT 活动。强烈考虑存储过程解决方案而不是触发器。
【讨论】:
如果您无法更改表中数据的更改方式,最好的解决方案是设置触发器以捕获单独表中的更改,然后编写一些代码来定期轮询该表,并构建您的 xml文件。
值得注意的是,在编辑此表中的数据时,这可能会降低您的数据库性能(有利于用户进行更改时的审计,不利于以编程方式更改的数据),并且来自触发器的任何错误都会导致相当误导的消息被抛出 sql server。
请参阅this question 了解有关设置触发器的一些提示。
【讨论】: