日期:2014-05-17  浏览次数:20462 次

发奋斑竹,进来看一下,需要思路
还是以之前的那个订单为例来说:
比方说订单表tab_order(orderID,orderStatus,createTime,timeOut,productID,userID)
我现在想每天0点的时候自动更新订单状态,依据是看timeOut的时间是否逾期,如果过期的话修改orderStatus为系统关闭,同时根据productID,userID去更新tab_product中的库存数量和tab_userAccout中的用户账户余额
在网上看了下,说是通过作业代理可以实现,没有搞过,望大家指点下。

------解决方案--------------------

--更新逾期
UPDATE tab_order
SET orderStatus='系统关闭'
WHERE timeOut<GETDATE()

--更行库存
UPDATE tab_product
SET  库存数量=
FROM tab_order
WHERE tab_product.productID=tab_order.productID
AND tab_order.timeOut<GETDATE()

--更新余额

UPDATE tab_userAccout
SET 账户余额=
FROM tab_order
WHERE tab_product.userID=tab_order.userID AND tab_order.timeOut<GETDATE()

脚本大概是这样,放到作业里面
------解决方案--------------------
作业代理与windows的计划任务差不多,可以设定时间执行代码或者SQL语句.
每个数据库都有一个对应的代理服务,先要确定让它开启: Sql Server 代理(MSSQLSERVER)
然后打开 Management Studio 连接相应的数据库, 找到 [Sqlserver代理],[作业],新建一个作业就好了.
新建[步骤]中,写入SQL语句
新建[计划]中,设定执行时间和间隔.
楼主最好是用中文版的.