触发器的创建
来源:互联网 发布:成都市网络理政平台 编辑:程序博客网 时间:2024/06/06 11:38
我们小组做的项目和订单有关,当用户下过订单后我们想为这个订单产生一个具有实际意义的订单号,比如cdn2009091100001代表2009-09-11日的第一笔订单。
所以我就为订单表写了一个产生订单号的触发器。
t_createordercode_cdn_order_bi 触发器名字:t表示触发器,createordercode表示这个触发器的作用,cdn_order表示表名,bi表示before insert
on cdn_order:对与cdn_order表
for each_row:对每一列都发生作用
begin和end之间:定义一个变量ordernum,把cdn_order表中当天的订单数赋值给ordernum;然后把ordernum格式化为五位的字符串;链接'cdn',当前时间'20090911',ordernumtemp;把生产的字符串赋值给new.ordercode,也就是新插入的列
注意:开始一个同事说在插入一列后再产生订单号,所以我一直朝这个方向努力,但是一直报错,后来查下才知道插入后不能做修改动作。所以就该到插入前产生订单号。
所以我就为订单表写了一个产生订单号的触发器。
drop trigger t_createordercode_cdn_order_bi;delimiter //create trigger t_createordercode_cdn_order_bi BEFORE INSERT ON cdn_orderFOR EACH ROWBEGINset @ordernum = 0;select count(*) into @ordernum from cdn_order where DATE(ordertime) = current_date;set @ordernumtemp = CONCAT("0000", @ordernum);set @ordernumtemp = RIGHT(@ordernumtemp, 5);set @ordercode = CONCAT("cdn", REPLACE(DATE(current_date),'-',''), @ordernumtemp);set new.ordercode = @ordercode;ENDdelimiter ;
t_createordercode_cdn_order_bi 触发器名字:t表示触发器,createordercode表示这个触发器的作用,cdn_order表示表名,bi表示before insert
on cdn_order:对与cdn_order表
for each_row:对每一列都发生作用
begin和end之间:定义一个变量ordernum,把cdn_order表中当天的订单数赋值给ordernum;然后把ordernum格式化为五位的字符串;链接'cdn',当前时间'20090911',ordernumtemp;把生产的字符串赋值给new.ordercode,也就是新插入的列
注意:开始一个同事说在插入一列后再产生订单号,所以我一直朝这个方向努力,但是一直报错,后来查下才知道插入后不能做修改动作。所以就该到插入前产生订单号。
0 0
- 触发器的创建
- 查看创建的触发器
- 触发器Trigger的创建
- 触发器的创建
- 触发器的创建
- 触发器+触发器的类型+创建触发器+查询当前用户创建的触发器
- sql触发器的创建、以及列级触发器的创建
- 创建一个简单的触发器
- 创建触发器的一般步骤
- Oracle创建简单的触发器
- 二十一. 触发器的创建
- 创建表序列的触发器
- SQL Server触发器的创建
- mysql中触发器的创建
- 关于触发器创建的陷阱
- Sqlserver 触发器的禁用和启用 触发器的创建
- 创建触发器
- 创建触发器
- 求两个时间段间的工作日(周一到周五)
- mysql存储过程--返回两个时间的最大最小值
- 对ibatis封装
- 使用注解做添加删除修改
- nltk(2)——频率分布&词操作
- 触发器的创建
- 使用事件创建表
- 005_Http之request获取客户端信息08-编码之request编码-url编码
- 两个mysql的函数
- Mysql比较操作符概述
- 经常被使用的MySQL函数
- jxl读excel
- The 11th Zhejiang Provincial Collegiate Programming Contest->Problem A:A - Pokemon Master
- PowerDesigner根据PhysicalDiagram产生数据库--连接mysql