MySql存储历程和触发器的成立(精简版)[MySQL防范]
本文“MySql存储历程和触发器的成立(精简版)[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1.成立存储历程
DELIMITER //
DROP PROCEDURE IF EXISTS `PROC_TEST`//
CREATE PROCEDURE `PROC_TEST`(TABLE_NAME VARCHAR(20),NUM INT)
BEGIN www.110hack.com
SELECT * FROM TABLE_NAME LIMIT NUM;
END//
DELIMITER ;
调用存储历程:
CALL PROC_TEST('USER',20);
删除存储历程:
DROP PROCUDURE productpricing
2.成立触发器
~~语法~~
CREATE TRIGGER <触发器名称> --触发器必须闻名字,最多64个字符,大概背面会附有脱离符.它和MySQL中其他对象的命名方法基本相象.
{ BEFORE | AFTER } --触发器有履行的时间设置:可以设置为事件发生前或后.
{ INSERT | UPDATE | DELETE } --一样也能设定触发的事件:它们可以在履行insert、update或delete的历程中触发. www.110hack.com
ON <表名称> --触发器是属于某一个表的:当在这个表上履行插入、 更新或删除操作的时刻就招致触发器的激活. 我们不能给同一张表的同一个事件安置两个触发器.
FOR EACH ROW --触发器的履行隔断:FOR EACH ROW子句告诉触发器 每隔一行履行一次行动,而不是对整个表履行一次.
<触发器SQL语句> --触发器包含所要触发的SQL语句:这里的语句可以是任何合理的语句, 包含复合语句,但是这里的语句受的限制和函数的一样.
--你必须拥有相当大的权限才能成立触发器(CREATE TRIGGER),假如你已经是Root用户,那么就充足了.这跟SQL的尺度有所差别.
成立触发器:t_afterinsert_on_tab1
作用:增添tab1表记录后自动将记录增添到tab2表中
DROP TRIGGER IF EXISTS `t_afterinsert_on_tab1`;
CREATE TRIGGER t_afterinsert_on_tab1
AFTER INSERT ON `tab1`
FOR EACH ROW
BEGIN
insert into tab2(tab2_id) values(new.tab1_id);
END;
成立触发器:t_afterdelete_on_tab1
作用:删除tab1表记录后自动将tab2表中对应的记录删去
DROP TRIGGER IF EXISTS `t_afterdelete_on_tab1`;
CREATE TRIGGER `t_afterdelete_on_tab1`
AFTER DELETE ON `tab1` www.110hack.com
FOR EACH ROW
BEGIN
delete from `tab2` where tab2_id=old.tab1_id;
END;
删除触发器:
DROP TRIGGER [schema_name.]trigger_name;
作者 qhw
以上是“MySql存储历程和触发器的成立(精简版)[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |