用.net做視頻網站的案例淄博網站推廣
在product表上創(chuàng)建三個觸發(fā)器。每次激活觸發(fā)器后,都會更新operate表。product表和
表的內容如下?
Product表內容?
字段名?? ??? ?字段描述 ?? ?數據類型 ?? ?主鍵 ?? ?外鍵 ?? ?非空 ?? ?唯一 ?? ?自增?
Id?? ??? ??? ?產品編號?? ?Int(10) ?? ?是 ?? ??? ?否 ?? ??? ?是 ?? ??? ?是 ?? ??? ?否
Name ??? ??? ?產品功能 ?? ?Varchar(20) 否 ?? ??? ?否 ?? ??? ?是 ?? ??? ?否 ?? ??? ?否
Function ?? ?主要功能 ?? ?Varchar(50) 否 ?? ??? ?否 ?? ??? ?否 ?? ??? ?否 ?? ??? ?否?
Company?? ??? ?生產廠家 ?? ?Varchar(20) 否 ?? ??? ?否 ?? ??? ?是 ?? ??? ?否 ?? ??? ?否?
Address?? ??? ?家庭住址 ?? ?Varchar(20) 否 ?? ??? ?否 ?? ??? ?否 ?? ??? ?否 ?? ??? ?否?
Operate表的內容?
字段名?? ?字段描述 ?? ?數據類型 ?? ?主鍵 ?? ?外鍵 ?? ?非空 ?? ?唯一 ?? ?自增?
Op_id?? ?編號 ?? ??? ?Int(10) ?? ?是 ?? ??? ?否 ?? ??? ?是 ?? ??? ?是 ?? ??? ?是?
Op_type 操作方式 ?? ?Varchar(20) 否 ?? ??? ?否 ?? ??? ?是 ?? ??? ?否 ?? ??? ?否?
Op_time?? ?操作時間?? ?Varchar(20)?? ?否 ?? ??? ?否 ?? ??? ?是 ?? ??? ?否 ?? ??? ?否
?
1、在product表上分別創(chuàng)建BEFORE INSERT、AFTER UPDATE和AFTER DELETE 3個觸發(fā)器,
觸發(fā)器名稱分別為product_bf_insert、product_af_update和product_af_del。執(zhí)行語句
部分是向operate表插入操作方法和操作時間。?
創(chuàng)建 product_bf_insert 觸發(fā)器delimiter $$
create trigger product_bf_insert
before insert on product
for each row
begin
insert into operate (op_type, op_time)
values ('insert', now());
end $$
\d;創(chuàng)建 product_af_update 觸發(fā)器delimiter $$
create trigger product_af_update
after update on product
for each row
begin
insert into operate (op_type, op_time)
values ('update', now());
end $$
\d;創(chuàng)建 product_af_del 觸發(fā)器delimiter $$
create trigger product_af_del
after delete on product
for each row
begin
insert into operate (op_type, op_time)
values ('delete', now());
end $$
\d;
2、對product表分別執(zhí)行INSERT、UPDATE和DELETE操作?
執(zhí)行INSERT操作
insert into product (name, function, company, address)
values ('產品A', '功能描述A', '公司A', '地址A');執(zhí)行UPDATE操作
update product
set name = '產品A更新', function = '功能描述A更新'
where id = 1;執(zhí)行DELETE操作
delete from product
where id = 1;
3、刪除product_bf_insert和product_af_update這兩個觸發(fā)器?
drop trigger if exists product_bf_insert;
drop trigger if exists product_af_update;