1、 作業系統:window10
2、 mysql 5.7
1.在sc表中建立insert、update觸發器,檢查學號是否為student表中的學號,若無則不許插入選課記錄或修改選課表學生學號。
1.1 建立insert觸發器:
delimiter
//create
trigger tr_sc_in_sno after
insert
on sc
for each row
begin
if new.sno notin(
select sno from student)
then
signal sqlstate '45000'
set message_text=
'insert error'
;endif;
end;
//delimiter
;
1.2 建立update觸發器:
2.在sc表中錄入或修改實驗資料,檢視觸發器的執**況。
首先檢視student表中存在的學生學號,如下所示:
2.1 在sc表中錄入資料:
insert
into sc values
('2006005'
,'2',80
);
執行結果:
11:22:32 insert into sc values (『2006005』,『2』,80) error code: 1644. insert error 0.015 sec
2.2 在sc表中修改資料:
update sc set sno=
'2006005'
where sno=
'2005005'
;
執行結果:
11:25:15 update sc set sno=『2006005』 where sno=『2005005』 error code: 1644. update error 0.000 sec
MYSQL觸發器的操作
1 為什麼使用觸發器 觸發器是mysql的資料庫物件之一,那為什麼要使用觸發器呢?在開發具體專案時,經常會遇到如下例項 在學生表中擁有字段學生姓名,字段學生總數,每當新增一條關於學生記錄時,學生的總數就必須同時改變。在顧客資訊表中擁有字段顧客名字,字段顧客的 和字段顧客的位址,每當新增一條顧客記錄時...
MySQL觸發器的操作
資料庫物件觸發器用來實現由一些表事件觸發的某個操作,當執行表事件時,則會啟用觸發器,從而執行其包含的操作 mysql在觸發以下語句時,會自動執行所設定的操作 delete insert update語句,其他sql語句則不會啟用觸發器 觸發器的操作包括建立觸發器,檢視觸發器和刪除觸發器。在mysql...
Mysql 觸發器的操作
例子 在資料庫company中存在兩個表物件 部門表 t dept 和日記表 t diary 建立觸發器實現向部門表中插入記錄時,就會在插入之前向日記表中插入當前時間。部門表 日記表 建立觸發器 插入記錄 結果 日記表也多了一條記錄 語法 例子 建立觸發器實現當前向部門表中插入記錄時,就會在插入之後...