大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
mysql数据表:
目前创新互联公司已为上千的企业提供了网站建设、域名、网络空间、绵阳服务器托管、企业网站设计、赣州网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
create table driver_order (
id int(11) unsigned NOT NULL AUTO_INCREMENT,
area_start varchar(200),
area_end varchar(200),
order_number varchar(200),
create_user varchar(200),
primary key (id)
);
创建触发器:
DELIMITER $$
CREATE TRIGGER seq_driver_order_number BEFORE INSERT ON driver_order
FOR each ROW
BEGIN
DECLARE seq_type INT(10);
SET seq_type = getUserNo(NEW.create_user);
SET NEW.order_number = getNextCommSequence("motor", seq_type);
END$$
DELIMITER ;
以下是mybatis操作触发器的配置方法:
insert id="insertOrder" parameterType="DriverOrder"
selectKey keyProperty="id,orderNumber" keyColumn="ID,ORDER_NUMBER" order="AFTER" resultType="java.util.Map"
SELECT ID,ORDER_NUMBER FROM DRIVER_ORDER where ID = last_insert_id()
/selectKey
INSERT INTO
DRIVER_ORDER(ID,ORDER_NUMBER,AREA_START,AREA_END,CREATE_USER,CREATE_TIME)
VALUES
(#{id},
#{orderNumber,jdbcType=VARCHAR},
#{areaStart,jdbcType=VARCHAR},
#{areaEnd,jdbcType=VARCHAR},
#{createUser,jdbcType=VARCHAR},
now())
/insert
存储过程:
mysql
CREATE
PROCEDURE
up_sbwcsl(IN
xbh
int)
BEGIN
begin
select
科研计划.系部号,是否申报,完成数量
from
科研计划
Where
科研计划.系部号=@xbh
and
是否申报='是'
END;
触发器语法一样的。
Create
trigger
up_ysbz
On
科研计划
For
update
As
Begin
If
update(验收标志)
Update
科研计划
set
验收标志='验收通过'
end
主要的就是数据的截取吧,在家判断就可以了
CREATE TRIGGER trigger1
AFTER insert ON AAA
FOR EACH ROW
BEGIN
insert INTO BBB
(a, b, c, d)
values substr
('this\is\a\test', 1, instr('this\is\a\test', '\', 1, 1) - 1),
substr
('this\is\a\test',
instr('this\is\a\test', '\', -1, 3) + 1,
instr('this\is\a\test', '\', -1, 2) -
(instr('this\is\a\test', '\', -1, 3) + 1)),
(substr('this\is\a\test',
instr('this\is\a\test', '\', -1, 2) + 1,
instr('this\is\a\test', '\', -1, 1) -
(instr('this\is\a\test', '\', -1, 2) + 1)),
substr(NEW :aa, instr(NEW :aa, '\', -1, 1) + 1, length(NEW :aa)));
END;
1、先创建一个空的person_log表用来存放被删除的记录。
2、创建一个触发器del_person,执行删除操作后将记录插入到person_log表。
触发器person_log
3、从person表中执行删除记录操作来触发事件
4、查看person_log表结果:
结果:从person表执行删除一条记录后会触发person_log表中增加被删除的记录。
delimiter //
create trigger upd_a
after insert on table_b
for each row
begin
if
new.收费单号 like 'Y%'
then
update table_a set table_a.编号 =1 where table_a.操作员id = new.收费员id and table_a.编号 1 ;
end if;
end//
delimiter ;
1.从语法上来说,你这样写是没有问题的,因为这里把new当成表名。编译自然是成功的,但是当插入数据用到触发器的时候,就会报找不到new表的错误了。
2.列出每一个字段是可以的,但是写起来比较麻烦,要这样:
insert into ct_master1 value (new.c1,new.c2,new.c3);
简洁的方法,就是插入的时候设定一个唯一性的值,比如id
然后就可以把insert改成