MySQL学习笔记(8.存储函数,触发器)
创始人
2024-06-02 14:12:27

1. 存储函数

存储函数,是有返回值的存储过程,参数只能是in

存储函数有弊端,必须有返回值。存储函数能做的,存储过程都能做。

(1) 创建存储函数

create function 存储函数名(参数名 参数类型) // 参数无需指定in默认就是

returns 返回值类型

begin 

  sql..

  return ...;

end;

(2) 调用存储函数

select 存储函数名;

2. 触发器

触发器是,与表有关的数据在增删改之前或之后执行的语句集合。

Mysql只支持行级触发器(影响一行数据执行一次)

(1) 属性new与old

insert只有new属性

delete只有old属性

update 既有new 又有old

(2) 创建触发器

create trigger 触发器名

before/after insert/update/delete   // 之前/之后 插入/更新/删除,各选一个,例如 before insert

on 表名 for each row  // 行级触发器

begin

  sql..

end;

(3) 查看触发器

show triggers;

(4) 删除触发器

drop trigger [schema名.]触发器名;

(5) 示例

create grigger td_user_update_trigger

after update // 更新后执行触发器

on td_user for each row // td_user表的行级触发器

begin

  insert into tb_log values(old.id, new.id); // old.id 更新前id,new.id更新后id

end;

相关内容

热门资讯

燃爆!江海证券首届「组合家杯」...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! 春江水暖“基”先知。...
爱施德股价涨5.02%,易方达... 3月10日,爱施德涨5.02%,截至发稿,报13.40元/股,成交4.04亿元,换手率2.51%,总...
恒烁股份股价涨5.24%,华夏... 3月10日,恒烁股份涨5.24%,截至发稿,报94.18元/股,成交3.44亿元,换手率4.50%,...
盛路通信股价涨5.44%,广发... 3月10日,盛路通信涨5.44%,截至发稿,报11.24元/股,成交5.24亿元,换手率5.62%,...
估值安全垫+南向窗口开启 机构... 财联社3月10日讯(编辑 胡家荣)今日亚洲市场全面回暖,港股三大指数同步走强。截至发稿,恒生指数涨1...