CREATE TRIGGER nombre BEFORE|AFTER INSERT|UPDATE|DELETE ON tabla FOR EACH ROW BEGIN sentencias END -------------------------------------------------------------------- CREATE EVENT nombre ON SCHEDULE schedule: AT timestamp [+ INTERVAL interval] ... | EVERY interval [STARTS timestamp [+ INTERVAL interval] ...] [ENDS timestamp [+ INTERVAL interval] ...] [ON COMPLETION [NOT] PRESERVE] DO event_body; interval: quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE | WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE | DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND} EJ: CREATE EVENT myevent ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO UPDATE myschema.mytable SET mycol = mycol + 1; SELECT @@global.event_scheduler; para ver si esta ON o OFF SET @@global.event_scheduler = 1; poner ON la variable. ----------------------------------------------------- CREATE TABLE nombretabla ( col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] | [PRIMARY] KEY] [COMMENT 'string'], PRIMARY KEY (index_col_name,...) FOREIGN KEY (index_col_name,...) [reference_definition] ) REFERENCES tbl_name [(index_col_name,...)] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] ----------------------------------------------------- DELIMITER $$ CREATE PROCEDURE build_email_list (INOUT email_list varchar(4000)) BEGIN DECLARE v_finished INTEGER DEFAULT 0; DECLARE v_email varchar(100) DEFAULT ""; -- declare cursor for employee email DEClARE email_cursor CURSOR FOR SELECT email FROM employees; -- declare NOT FOUND handler DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_finished = 1; OPEN email_cursor; get_email: LOOP FETCH email_cursor INTO v_email; IF v_finished = 1 THEN LEAVE get_email; END IF; -- build email list SET email_list = CONCAT(v_email,";",email_list); END LOOP get_email; CLOSE email_cursor; END$$ DELIMITER ;