create table userinfo(
userid int,
username varchar(10),
userbirthday date
);
create table userinfolog(
logtime datetime,
loginfo varchar(100)
);delimiter //
-- 创建触发器:
create trigger ToUserinfoLog before insert on userinfo for each row insert into userinfolog values(now(),concat(new.userid,'-',new.username));//
-- 创建存储过程
create procedure insert_userinfo(user_id int,username varchar(10),userbirthday date) begin insert into userinfo values(user_id,username,userbirthday); end//
call insert_userinfo(1,'weizi',current_date);// call insert_userinfo(2,'mini','1998-03-12'); // call insert_userinfo(3,'echo','1981-01-25'); // call insert_userinfo(4,'apple','1990-11-25'); // call insert_userinfo(4,'vivi','1962-01-27'); //
-- 创建自定义函数
create function GetUserAge(birthday date) returns integer begin return year(now()) - year(birthday); end//
-- 创建视图
create view ViewUserInfo as select *,GetUserAge(userbirthday) as age from userinfo;//
触发器语法
{ BEFORE | AFTER } <--触发器有执行的时间设置:可以设置为事件发生前或后
{ INSERT | UPDATE | DELETE } <--设定触发的事件:它们可以在执行insert、update或delete的过程中触发
ON <表名称> <-- 触发器是属于某一个表的
FOR EACH ROW <--触发间隔,每隔一行执行一次动作
<触发器SQL语句> <--这里的语句可以是任何合法的语句,包括复合语句,但是这里的语句受的限制和函数的一样