存储过程和触发器
存储过程
操作存储过程
# 创建存储过程
mysql> delimiter $$ #将语句的结束符号从分号;临时改为两个$$(可以是自定义)
mysql> CREATE PROCEDURE del_data(IN p_in varchar(10))
-> BEGIN
-> DELETE FROM test
-> WHERE id=p_in;
-> END$$
Query OK, 0 rows affected (0.01 sec)
mysql> delimiter ; #将语句的结束符号恢复为分号
# 原始数据
mysql> select * from test;
+------+------+
| id | name |
+------+------+
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
+------+------+
3 rows in set (0.001 sec)
# 调用存储过程,传入参数
mysql> call del_data(3);
Query OK, 1 row affected (0.005 sec)
mysql> select * from test;
+------+------+
| id | name |
+------+------+
| 1 | 1 |
| 2 | 2 |
+------+------+
2 rows in set (0.001 sec)
# 查看数据库的存储过程
SHOW PROCEDURE STATUS where db='test';
# 查看某个存储过程
SHOW CREATE PROCEDURE test.del_data;
# 删除存储过程
DROP PROCEDURE del_data;触发器
操作触发器
Last updated