MySQL ROUTINE & EVENT
ROUTINE(procedure&funcation)
建立:
Create procedure|function sp
修改
Alter procedure|function sp
呼叫
Call sp(param)
建立sp前指定:DELIMITER $$ 將語句結束的; 替代
DELIMITER $$
CREATE PROCEDURE SP()
…
End $$
DELIMITER;
增加trigger,限制delete操作
DELIMITER $$
CREATE TRIGGER test1.tri
BEFORE DELETE ON test1.emp
FOR EACH ROW
BEGIN
DECLARE msg varchar(50) ;
SET msg = "table記錄無法刪除";
SIGNAL SQLSTATE 'HY000' SET mysql_errno = 22, message_text = msg;
END;$$
delimiter ;
說明:HY000為系統內部錯誤號,22為自定義的顯示錯誤號,msg為錯誤文字
檢視狀態
Show procedure status like ‘xxx’
檢視定義
Show procedure xxx;
檢視資料字典
select * from information_schema.routines
EVENT(schedule)
類似oracle job
建立
create event myevent
on schedule every 1 hour
do
update emp1 set emp_no=emp_no+1;
檢視狀態
mysql> show events\G;
*************************** 1. row ***************************
Db: test1
Name: myevent
Definer: root@localhost
Time zone: SYSTEM
Type: ONE TIME
Execute at: 2016-10-14 12:10:53
Interval value: NULL
Interval field: NULL
Starts: NULL
Ends: NULL
Status: ENABLED
Originator: 0
character_set_client: utf8
collation_connection: utf8_general_ci
Database Collation: utf8_general_ci
1 row in set (0.01 sec)
開啟排程器,預設關閉:
mysql> show variables like '%schedule%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| event_scheduler | OFF |
+-----------------+-------+
mysql> set global event_scheduler=1;
Query OK, 0 rows affected (0.01 sec)
mysql> show processlist \G;
*************************** 4. row ***************************
Id: 17
User: event_scheduler
Host: localhost
db: NULL
Command: Daemon
Time: 62
State: Waiting on empty queue
Info: NULL
禁用:
mysql> alter event myevent disable;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25583515/viewspace-2152060/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql中 routineMySql
- mysql 事件 eventMySql事件
- MySQL入門--EVENT(事件)MySql事件
- 【MySQL】log event entry exceededMySql
- mysql的mysql.event和information_schema.eventsMySqlORM
- Mysql 關於event的詳解MySql
- mysql定時器event詳解MySql定時器
- mysql的event的簡單使用MySql
- mysql計劃任務:event scheduleMySql
- 【MySQL】使用event 的具體 案例MySql
- 【MySQL】事件排程器 (Event Scheduler)MySql事件
- MySQL中的事件排程器EVENTMySql事件
- mysql event對主從的影響MySql
- MySQL 伺服器啟用 event_schedulerMySql伺服器
- MySQL定時器EVENT學習筆記MySql定時器筆記
- MySQL使用event進行自動分表MySql
- 關於MySQL event的一些整理MySql
- MySQL [ERROR] Slave I/O: Found a Gtid_log_event or Previous_gtids_log_eventMySqlError
- 解析MYSQL BINLOG 二進位制格式(6)--UPDATE_ROW_EVENT/DELETE_ROW_EVENTMySqldelete
- Codeforces Round #196 (Div. 2) B. Routine Problem
- MySQL的事件溯源Event Sourcing表結構MySql事件
- Mysql event實現定時建表小記MySql
- 解析MYSQL BINLOG 二進位制格式(7)--Xid_log_event/XID_EVENTMySql
- event_x ()、event_y ()、event_x_root ()、event_y_root ()
- mysql 定時指令碼(event),類似oracle的jobMySql指令碼Oracle
- BW Conversion Routine 探究以及例項操作和異常處理
- 解析MYSQL BINLOG二進位制格式(8)--GTID_LOG_EVENT/ANONYMOUS_GTID_LOG_EVENT及其他MySql
- 隨筆:MySQL:雙主情況下跳過Event的方式MySql
- MySQL使用event等待事件進行資料庫效能診斷MySql事件資料庫
- 解析MYSQL BINLOG 二進位制格式(3)--QUERY_EVENTMySql
- event.preventDefault()和event.stopPropagation()
- JavaScript EventJavaScript
- Event LoopOOP
- [資料庫] Navicat for MySQL事件Event實現資料每日定期操作資料庫MySql事件
- 解析MYSQL BINLOG 二進位制格式(4)--TABLE_MAP_EVENTMySql
- 解析MYSQL BINLOG 二進位制格式(5)--WRITE_ROW_EVENTMySql
- 解析MYSQL BINLOG 二進位制格式(2)--FORMAT_DESCRIPTION_EVENTMySqlORM
- MySQL 5.5建立和檢視資料庫計劃任務(event)MySql資料庫