通过对活动进行调度,可以确保在一组预置的时间执行一组操作。调度信息和事件处理程序都存储在数据库本身中。
可以通过将多个调度与一个指定的事件相关联,来定义复杂的调度,但通常并不必要这样做。例如,一家零售店可能希望某事件在营业时间每小时发生一次,而营业时间根据一周中的不同日期而变化。通过定义各自拥有自己的调度的多个事件,以及调用一个公用存储过程,您可以达到同样的效果。
对事件进行调度时,可以使用完整的英文日期名称(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; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |