使用ColdFusion自动更新数据库

时间:2014-06-17 00:29:54

标签: sql-server coldfusion cfml

我需要在某些事件确定的时间对MSSQL字段数据进行某些更新,例如:在添加了200条新记录之后。

CFSCHEDULE是指某个日期和时间,而不是事件的日期和时间。

我在Adobe文档中找不到任何内容。

任何想法?

1 个答案:

答案 0 :(得分:2)

如果您根据SQL Server中发生的事件对MSSQL服务器中的数据字段进行纯粹更新,则不需要任何coldfusion代码。您最好的做法是在您感兴趣的数据库表上使用触发器以及某种辅助表。

e.g。您可以使用名为rowsSinceLastEvent的列设置辅助表dbo.MY_HELPER 然后,目标表上的触发器可以检查每个插入自上次事件以来行数是多少,如果已达到目标行数,则触发事件或者提高行数。

触发器定义看起来像这样。 (这只是伪代码)

DECLARE @rowsSinceLastUpdate INT

SELECT @rowsSinceLastUpdate = h.rowsSinceLastUpdate
FROM dbo.MY_HELPER h

IF @rowsSinceLastUpdate > 200
BEGIN
/* UPDATE ANY REQUIRED COLUMNS OR EXECUTE A STOREDPROCEDUT */
UPDATE dbo.MY_HELPER SET rowsSinceLastUpdate = 0
END ELSE BEGIN
UPDATE dbo.MY_HELPER SET rowsSinceLastUpdate = rowsSinceLastUpdate + 1
END

如果必须根据您的使用情况使用coldfusion,您可能必须对数据库进行某种轮询或构建监视数据库的事件网关。