寻求最佳解决方法?(200分)

  • 主题发起人 主题发起人 exceed
  • 开始时间 开始时间
E

exceed

Unregistered / Unconfirmed
GUEST, unregistred user!
环境:MSSQL2000+WIN2000 SERVER
问题:
有表A (ID,Content,Flag),将可能在任意时刻插入Flag为1的记录。需要一个实时的
服务器应用程序检索出这些记录,处理完以后将Flag改为2。
请问这个实时的服务器应用程序如何做?


 
sql语句
update a set flag=2
where flag=1
 
KOKS提出的是乎太简单了点。我想做的是实时监测程序。在检测到相应值后还要进行一段业务处理
最后才将flag值改变。
中间业务过程不能在存储过程中完成。
我现在是用一个定时器,每隔500毫秒SELECT 一次A表,取出相应记录,进行处理后,
才将flag值改变,那样的效率太低。
 
CREATE TRIGGER RWatcher
ON A
FOR INSERT
AS
-- 处理业务逻辑
GO
 
如果能源SQL Monitor的源码,这个问题就简单了!
 
业务处理有网络数据交互作用。在触发器里没办法完成
 
在触发器中可以完成的,把业务处理中sql无法完成的功能例如网络数据交互等写到com组件
中,触发器中调用com对象。
 
用触发器吧
 
Adnil,com组件该怎么完成,触发器又如何调用com对象。能给点相关资料吗?
不好意思,问了这么多。
 
使用 xp_cmdshell 扩展存储过程调用一个外部程序
USE master
CREATE TRIGGER RWatcher
ON A
FOR INSERT
AS
EXECUTE xp_cmdshell 'sockcli 135.47.2.1 5600 Andrew 3000'
GO
假设客户端程序sockcli将连接地址为135.47.2.1,端口为5600的服务器,将参数“Andrew”
和“3000”发送给服务器端,服务器端根据这些参数进行相应处理。
 
同意Sachow触发器搞掂!
 
多人接受答案了。
 
后退
顶部