Schedules

By scheduling activities you can ensure that a set of actions is executed at a set of preset times. The scheduling information and the event handler are both stored in the database itself.

Although this is not usually necessary, you can define complex schedules by associating more than one schedule with a named event. For example, a retail outlet might want an event to occur once per hour during hours of operation, where the hours of operation vary based on the day of the week. You can achieve the same effect by defining multiple events, each with its own schedule, and by calling a common stored procedure.

When scheduling events, you can use either full-length English day names (Monday, Tuesday, and so on) or the abbreviated forms of the day (Mon, Tue, and so on). You must use the full-length English day names if you want the day names to be recognized by a server running in a language other than English.

The following examples give some ideas for scheduled actions that may be useful.

Examples

Summarize orders at the end of each business day. This example uses iqdemo.db.

CREATE TABLE OrderSummary(c1 date, c2 int);
CREATE EVENT SummarizeSchedule
START TIME '6:00 pm'on ('Mon', 'Tue', 'Wed', 'Thu', 'Fri')
HANDLER
  BEGIN
    INSERT INTO DBA.OrderSummary 
      SELECT MAX(OrderDate),
      COUNT(*) 
  FROM GROUPO.SalesOrders 
  WHERE OrderDate = current date
END;