您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

实现MySQL触发器的实际操作步骤

2024/3/17 22:40:18发布20次查看
以下的文章主要讲述的是实现mysql触发器的实际操作步骤、以及存储过程、自定义函数与视图的简单示例介绍,如果你对mysql触发器的实际操作步骤以及存储过程的实际操作感兴趣的话,你就可以浏览以下的文章了,示例实现如下效果: test数据库有userinfo用户信息
以下的文章主要讲述的是实现mysql触发器的实际操作步骤、以及存储过程、自定义函数与视图的简单示例介绍,如果你对mysql触发器的实际操作步骤以及存储过程的实际操作感兴趣的话,你就可以浏览以下的文章了,示例实现如下效果:
test数据库有userinfo用户信息表 和userinfolog用户信息日志表
1.建立一个userinfo表新增记录时的触发器 将新增日志加入到userinfolog
2.建立一个向userinfo表新增记录的存储过程
3.根据userinfo表的出生日期字段 我们将建立一个简单算得年龄的自定义函数
4.创建一个userinfo的视图 调用年龄函数
准备相关表
mysql> use test;  mysql> create table userinfo(userid int,username varchar(10),userbirthday date);  mysql> create table userinfolog(logtime datetime,loginfo varchar(100));  mysql> describe userinfo; 
1.mysql触发器的实现:
mysql> delimiter |  mysql> create trigger beforeinsertuserinfo  -> before insert on userinfo  -> for each row begin  -> insert into userinfolog values(now(),concat(new.userid,new.username));  -> end;  -> |  mysql> delimiter ;  mysql> show triggers; 
2.存储过程
mysql> delimiter //  mysql> create procedure spinsertuserinfo(  -> puserid int,pusername varchar(10)  -> ,puserbirthday date  -> )  -> begin  -> insert into userinfo values(puserid,pusername,puserbirthday);  -> end;  -> //  mysql> show procedure status like 'spinsertuserinfo';  mysql> call spinsertuserinfo(1,'zhangsan',current_date);  mysql> select * from userinfo; 
3.自定义函数
mysql> update userinfo  -> set userbirthday='2000.01.01' -> where userid='1';  mysql> drop function if exists fngetage;  mysql> delimiter //  mysql> create function fngetage(pbirthday date)  -> returns integer  -> begin  -> return year(now()) - year(pbirthday);  -> end  -> // 

4.视图
mysql> create view viewuserinfo  -> as select * ,fngetage(userbirthday) as userage from userinfo;  mysql> select * from viewuserinfo; 
清除日志记录
mysql> truncate table userinfolog;  mysql> delete from userinfolog; 
以上的相关内容就是对mysql触发器的介绍,望你能有所收获。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product