如何测试MySQL触发器和存储过程
2022-11-12 09:23:48
内容摘要
这篇文章主要为大家详细介绍了如何测试MySQL触发器和存储过程,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!1. 为了测试触发器和存储过
文章正文
这篇文章主要为大家详细介绍了如何测试MySQL触发器和存储过程,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
1. 为了测试触发器和存储过程,首先建立一张简单的表:代码如下:
1 2 3 4 5 6 7 | <code> CREATE TABLE `airuser` ( `userId` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(128) NOT NULL, PRIMARY KEY (`userId`) )ENGINE=InnoDB DEFAULT CHARSET=utf8 </code> |
代码如下:
1 2 3 4 5 6 7 8 9 | <code> CREATE TABLE `airuser_record` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(45) DEFAULT NULL, `edittime` timestamp NULL DEFAULT NULL, `edittype` varchar(45) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 </code> |
代码如下:
1 2 3 4 5 6 7 8 9 10 | <code> DROP TRIGGER insert_trigger; delimiter | CREATE TRIGGER insert_trigger BEFORE INSERT ON airuser FOR EACH ROW BEGIN INSERT INTO airuser_record SET username = NEW.username, edittime=now(), edittype= 'insert' ; END ; SHOW TRIGGERS; </code> |
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <code> DROP procedure createUsers; delimiter | create procedure createUsers(IN count int) begin declare i int; set i=0; while i< count do insert into airuser set username=concat( 'user_' ,i); set i=i+1; end while ; end ; show procedure status; </code> |
代码如下:
1 2 3 | <code> call createUsers(10); </code> |
代码如下:
1 2 3 | <code> SELECT * FROM mars_jpa.airuser_record; </code> |
注:关于如何测试MySQL触发器和存储过程的内容就先介绍到这里,更多相关文章的可以留意
代码注释