mysql+触发器返回值_mysql 触发器+存储过程

本文记录了MySQL中触发器和存储过程的应用,包括在p_timepolicy表的insert和update操作时,自动处理p_policy_base表的相关记录。同时,展示了如何创建和使用这些存储过程。
摘要由CSDN通过智能技术生成

本文是工作的一些记录,并不适合学习和参考。

select max(id) 应该用last_insert_id()代替。

SELECT AUTO_INCREMENT FROM information_schema.tables WHERE table_name = '表名'      #用于查找某个表的最后一个主键值

p_policy_base表是策略的基础信息表,用于存储策略的基础信息。

p_timepolicy是时间策略表,表示一条具体的时间策略,与p_policy_base通过sn及fid形成非约束关联关系。

c_configs存储一些配置信息。

需求:

1.当对p_timepolicy执行insert操作时,自动向p_ploicy_base插入一条相关记录。

2.当对p_timepolicy执行update操作时,自动更新p_policy_base相应记录。

CREATE TABLE `c_configs` (

`configid` int(11) NOT NULL AUTO_INCREMENT,

`configtype` int(11) DEFAULT NULL,

`configkey` varchar(32) DEFAULT NULL,

`configvalue` varchar(150) DEFAULT NULL,

PRIMARY KEY (`configid`)

) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;

CREATE TABLE `p_policy_base` (

`Id` int(11) NOT NULL AUTO_INCREMENT,

`sn` varchar(20) NOT NULL DEFAULT '' COMMENT '策略编码',

`name` varchar(60) NOT NULL DEFAULT '' COMMENT '策略名',

`des` varchar(255) DEFAULT NULL COMMENT '短描述',

`fid` int(11) DEFAULT '0' COMMENT '关联到具体策略表的id',

`domainid` int(11) DEFAULT '0' COMMENT '域id,如果为空表示总部策略',

`createTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '策略创建时间',

`state` int(11) NOT NULL DEFAULT &#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值