Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - 数据库管理 » 维护数据库 » 使用调度和事件自动完成任务

 

了解调度

通过对活动进行调度,可以确保在一组预置的时间执行一组操作。调度信息和事件处理程序都存储在数据库本身中。

可以通过将多个调度与一个指定的事件相关联,来定义复杂的调度,但通常并不必要这样做。例如,一家零售店可能希望某事件在营业时间每小时发生一次,而营业时间根据一周中的不同日期而变化。通过定义各自拥有自己的调度的多个事件,以及调用一个公用存储过程,您可以达到同样的效果。

对事件进行调度时,可以使用完整的英文日期名称(Monday、Tuesday 等),也可以使用日期的简写形式(Mon、Tue 等)。注意,如果要想以英文以外的其它语言运行的服务器能够识别日期名称,您必须使用完整的英文日期名称。

以下示例可以帮助您初步了解可能有用的调度操作。

示例

每天凌晨 1 点执行增量备份:

CREATE EVENT IncrementalBackup
SCHEDULE
 START TIME '1:00 AM' EVERY 24 HOURS
HANDLER
BEGIN
 BACKUP DATABASE DIRECTORY 'c:\\backup'
 TRANSACTION LOG ONLY
 TRANSACTION LOG RENAME MATCH
END;

在每个工作日结束时汇总订单:

CREATE EVENT Summarize
SCHEDULE
 START TIME '6:00 pm'
 ON ( 'Monday', 'Tuesday', 'Wednesday', 'Thursday',
  'Friday' )
HANDLER
 BEGIN
 INSERT INTO OrderSummary
  SELECT CURRENT DATE,
     COUNT( * ),
     SUM( amount )
  FROM Orders
  WHERE date_ordered = current date
END;
另请参见

定义调度