觸發器的使用

 

觸發器的使用

觸發器
 和存儲過程比較
 1.共同點
  針對表的操作(sql語句集合)
 2.區別點
  不需要調用
 觸發器在當前版本里不太穩定,不建議在有重要數據的數據庫裏使用
  約束:
   目的:保證數據的安全(獨立性、共享性) 排除數據冗餘性
   域完整性約束(列):數據類型、格式、值域範圍(enumset)、是否爲空、主鍵、自動增長等;
   實體完整性約束():自己整理
   用戶自定義約束:
    例如:年齡 int 0-100
   參照完整性約束:外鍵

 練習:使用觸發器完成check約束
 1、創建觸發器
 語法:
  創建存儲過程:create procedure 名稱(參數)
       begin
      流程控制語句
      sql語句集合
       end//

  創建觸發器:  create trigger 名稱 觸發時間(after|before) 觸發事件(insertupdatedelete)
       on 表名 for each row
       begin
       局部變量、用戶變量等;
       流程控制語句;
       sql語句集合
       call 存儲過程名();
       end// 
 
 練習1:對t1創建觸發器,執行insert語句後,將用戶變量str賦值working
 練習2:對t1(字段s1)創建按觸發器,刪除數據後,將t2裏對應的記錄同步刪除
   第一步:創建觸發器
   create trigger t1_delete after delete on t1 for each row
   delete from t2 where s2=OLD.s1;
   第二步:激活觸發器
   delete from t1;
   第三步:驗證結果
   select * from t2;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章