mysql下的触发器

USE exam ;
#创建一个触发器#
#注意:“--”在语句中是被执行的,,不能使用,但是“#”是不被执行的,,但是必须在“;”号之后#
Create trigger hava_select_add after insert on t_paper_questions for each row #mysql此处写死,仅支持行触发,oracle、sql_server支持表触发# 
Begin
DECLARE have_select int ;#反对法#
SELECT hava_select INTO have_select FROM t_question where t_question.question_id =new.question_id;#定义一个变量存储被选择的次数#
if have_select = 10 THEN 
UPDATE t_question SET hava_select=0 WHERE t_question.question_id =new.question_id;
ELSE
UPDATE t_question SET hava_select=hava_select+1 WHERE t_question.question_id =new.question_id; #一句或多句 insert/update/delete语句#
END IF ;
End;

#显示触发器#
SHOW TRIGGERS;
#删除触发器#
DROP TRIGGER hava_select_add;
insert into t_paper_questions values(4,7)  
SELECT * FROM t_paper_questions
SELECT hava_select FROM t_question WHERE question_id=7;
UPDATE t_question SET hava_select=10 WHERE question_id=7;


 

你可能感兴趣的:(sql,数据库)