Basic understanding of triggers and stored procedures in mysql

Source: Internet
Author: User

Basic understanding of triggers and stored procedures in mysql: 01 trigger: a trigger that is triggered upon a certain operation (or before ), the attached operation is executed immediately. 02 purpose: monitor a situation and trigger an operation. 03 Note: 04 events that can be monitored: add, delete, modify; events that can be triggered: add, delete, and modify; 05 06 Monitoring location: table07 monitoring event: insert/update/delete08 trigger time: after/before09 trigger event: insert/update/delete10 11 # create a commodity table: 12 www.2cto.com create table goods (goodsId int, name varchar (10), num int) charset utf8 $13 14 # create order table: 15 create table orders (ordersId int, goodsId int, num int) charset utf8 $16 17 # insert data 18 insert into goods values (1, 'pig', 22), (2, 'sheep', 19), (3, 'Dog', 12), (4, 'cat', 8) $19 20 # Buy three sheep 21 insert into orders values (1, 2, 3); 22 23 # reduce sheep inventory 24 update goods set num = num-3 where goodsId = 2; 25 26 # start to use the trigger 27 # monitoring location: orders28 # monitoring operation: insert29 # Trigger operation: update30 # Trigger time: after31 32 # create the first trigger 33 create trigger t134after insert on orders35for each row36begin37 update goods set num = num-3 where goodsId = 2; 38 www.2cto.com end $39 40 # Delete trigger 41 drop trigger t1 $42 43 # create second trigger 44 create trigger t245after I Nsert on orders46for each row47begin48 update goods set num = num-new. num where goodsId = new. goodsId; 49end $50 51 # create the third trigger 52 create trigger tstrap after delete on orders54for each row55begin www.2cto.com 56 update goods set num = num + old. num where goodsId = old. goodsId; 57end $58 59 # create the fourth trigger 60 create trigger t461after update on orders62for each row63begin64 update goods set num = num + old. num-new. Num where goodsId = old. goodsId; 65end $ basic understanding of a stored procedure: 01 meaning of a stored procedure: 02 a stored procedure is similar to a function. It encapsulates a piece of code. When you want to execute this piece of code, you can call this stored procedure. In the encapsulated statement body, you can use the if/else, case, while and other control structures. SQL programming is called here. 03 # Test table creation and table operations: 04 create table users (num int, name varchar (20), password varchar (20); 05 www.2cto.com insert into users values (1, 'zwh ', 'zwh'); 06 insert into users values (2, 'lhy ', 'lhy'); 07 insert into users values (3, 'test ', 'test'); 08 insert into users values (4, 'test', 'test'); 09 insert into users values (5, 'test', 'test '); 10 insert into users values (6, 'test', 'test'); 11 insert into users values (7, 'test', 'test '); 12 insert into users values (8, 'test', 'test'); 13 insert into users values (9, 'test', 'test '); 14 insert into users values (10, 'test', 'test'); 15 www.2cto.com 16 # view the stored procedure: 17 show procedure status; 18 19 # delete an existing stored procedure: 20 drop procedure ***; 21 22 23 # change the delimiter to $: 24 delimiter $25 26 # create the first stored procedure: experience "SQL encapsulation" 27 create procedure p1 () 28begin29 select * from users; 30end $31 32 # call stored procedure 33 call p1 () $34 35 # create a second stored procedure: experience the "parameter" 36 create procedure p2 (n int) 37begin38 select * from users where num <n; 39end $ www.2cto.com 40 41 # create a third stored procedure: Experience "control structure" 42 create procedure p3 (n int, j char (1 )) 43begin44 if j = 'H' then45 select * from users where num> n; 46 else47 select * from users where num <n; 48 end if; 49end $50 51 # create the fourth stored process: experience the 'cyclic struct'. Note: The stored procedure does not return a value 52 # function: calculate the values of 1 to n and 53 create procedure p4 (n smallint) 54begin55 declare I int; 56 declare s int; 57 set I = 1; 58 www.2cto.com set s = 0; 59 while I <= n do60 set s = s + I; 61 set I = I + 1; 62 end while; 63 select s; 64end $ author Zhuang Weihong

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.