新聞中心
mybatis 怎么寫mysql觸發(fā)器
mysql數(shù)據(jù)表:
創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計、做網(wǎng)站與策劃設(shè)計,禮縣網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:禮縣等地區(qū)。禮縣做網(wǎng)站價格咨詢:18982081108
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)
);
創(chuàng)建觸發(fā)器:
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操作觸發(fā)器的配置方法:
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寫觸發(fā)器
--觸發(fā)器如果存在則刪除重新創(chuàng)建
DROP?TRIGGER?IF?EXISTS?觸發(fā)器名稱;
CREATE?TRIGGER?觸發(fā)器名稱?
AFTER?INSERT?ON?表名稱
FOR?EACH?ROW
BEGIN
--這里寫你觸發(fā)器觸發(fā)時要做的
UPDATE?lsxhd?
SET?ywrq=UNIX_TIMESTAMP(FROM_UNIXTIME(rq,?"%Y-%m-%d"))
WHERE
ywrq=UNIX_TIMESTAMP('1970-01-01')--如果這里的‘1970-01-01’是插入的數(shù)據(jù)中的列值的話,可以從INSERTED中查詢出
END;
mysql 觸發(fā)器怎么寫
觸發(fā)器是一個特殊的存儲過程,存儲過程是需要手動調(diào)用的,而觸發(fā)器是程序自動出發(fā)的,比如在對某張表進(jìn)行刪除操作前執(zhí)行觸發(fā)器。可以設(shè)置在增刪除操作前或者之后執(zhí)行。下面就創(chuàng)建一個小例子。
方法/步驟
確認(rèn)mysql服務(wù)開啟。
連接mysql。
進(jìn)入到相應(yīng)的數(shù)據(jù)庫,并查看相應(yīng)表的數(shù)據(jù)。
創(chuàng)建觸發(fā)器,當(dāng)在向表t_user插入之前,向表user插入數(shù)據(jù)。
插入一條語句。
6
查看觸發(fā)器是否執(zhí)行。
mysql觸發(fā)器編寫
主要的就是數(shù)據(jù)的截取吧,在家判斷就可以了
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;
mysql怎么創(chuàng)建觸發(fā)器
1、先創(chuàng)建一個空的person_log表用來存放被刪除的記錄。
2、創(chuàng)建一個觸發(fā)器del_person,執(zhí)行刪除操作后將記錄插入到person_log表。
觸發(fā)器person_log
3、從person表中執(zhí)行刪除記錄操作來觸發(fā)事件
4、查看person_log表結(jié)果:
結(jié)果:從person表執(zhí)行刪除一條記錄后會觸發(fā)person_log表中增加被刪除的記錄。
mysql觸發(fā)器寫法
delimiter //
create trigger upd_a
after insert on table_b
for each row
begin
if
new.收費(fèi)單號 like 'Y%'
then
update table_a set table_a.編號 =1 where table_a.操作員id = new.收費(fèi)員id and table_a.編號 1 ;
end if;
end//
delimiter ;
網(wǎng)站題目:觸發(fā)器怎么寫mysql 觸發(fā)器的語法
文章鏈接:http://www.ef60e0e.cn/article/dodphos.html