mysql的触发器和存储过程_mysql:触发器和存储过程

delimiter $

create trigger tg_insertTestWhenInsertUser

after insert on tb_user

for each row

begin

insert into tb_test(id) values(1);

end$

delimiter ;

1.2.查看触发器

mysql> select * from information_schema.`triggers` \G;

*************************** 1. row ***************************

TRIGGER_CATALOG: def

TRIGGER_SCHEMA: db_jersey

TRIGGER_NAME: tg_insertTestWhenInsertUser

EVENT_MANIPULATION: INSERT

EVENT_OBJECT_CATALOG: def

EVENT_OBJECT_SCHEMA: db_jersey

EVENT_OBJECT_TABLE: tb_user

ACTION_ORDER: 0

ACTION_CONDITION: NULL

ACTION_STATEMENT: begin

call pd_insertTest();

end

ACTION_ORIENTATION: ROW

ACTION_TIMING: AFTER

ACTION_REFERENCE_OLD_TABLE: NULL

ACTION_REFERENCE_NEW_TABLE: NULL

ACTION_REFERENCE_OLD_ROW: OLD

ACTION_REFERENCE_NEW_ROW: NEW

CREATED: NULL

SQL_MODE: NO_ENGINE_SUBSTITUTION

DEFINER: root@localhost

CHARACTER_SET_CLIENT: utf8

COLLATION_CONNECTION: utf8_general_ci

DATABASE_COLLATION: latin1_swedish_ci

1 row in set (0.00 sec)

2.存储过程

2.1 编写存储过程

delimiter $

create procedure pd_insertTest()

begin

insert into tb_test(id) values(2);

end$

delimiter ;

2.2 查看存储过程

mysql> show procedure status ;

+-----------+---------------+-----------+----------------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+

| Db | Name | Type | Definer | Modified | Created | Security_type | Comment | character_set_client | collation_connection | Database Collation |

+-----------+---------------+-----------+----------------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+

| db_jersey | pd_insertTest | PROCEDURE | root@localhost | 2016-07-31 21:53:31 | 2016-07-31 21:53:31 | DEFINER | | utf8 | utf8_general_ci | latin1_swedish_ci |

+-----------+---------------+-----------+----------------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+

1 row in set (0.00 sec)

mysql> show create procedure pd_insertTest ;

+---------------+------------------------+------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+

| Procedure | sql_mode | Create Procedure | character_set_client | collation_connection | Database Collation |

+---------------+------------------------+------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+

| pd_insertTest | NO_ENGINE_SUBSTITUTION | CREATE DEFINER=`root`@`localhost` PROCEDURE `pd_insertTest`()

begin

insert into tb_test(id) values(2);

end | utf8 | utf8_general_ci | latin1_swedish_ci |

+---------------+------------------------+------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+

1 row in set (0.00 sec)

3.在触发器中调用存储过程

delimiter $

create trigger tg_insertTestWhenInsertUser

after insert on tb_user

for each row

begin

call pd_insertTest();

end$

delimiter ;

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2016-07-31 22:46

浏览 476

分类:数据库

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值