標籤:
------備份還原 --右鍵資料庫---任務--備份:在不影響資料庫正常啟動並執行情況下,將資料備份到一個.bak結尾的檔案夾--還原:將bak檔案還原到資料庫-----分離、附加--分離:將資料庫與資料庫服務進行分離--附加:將資料庫mdf檔案,附加到資料庫服務上--觸發器:一種特殊的預存程序 特殊的地方在於,觸發器是通過對資料庫表的操作來引發 觸發的動作只有‘增刪改’--預存程序是通過exec人為執行create trigger student_insert --建立觸發器on student --指定觸發器所在的表for insert --當執行insert的操作時,自動的觸發觸發器,for和alter都是在操作後執行,也可以改成alteras update student set ssex=‘女‘ where sno=103goselect*from studentcreate trigger student_deleteon studentinstead of delete --替換某個操作,用觸發器的過程來替換刪除的操作,不再能夠刪除student表資料as update student set sbirthday=‘2015-4-29‘ where sno=105godelete from student--create trigger 觸發器名--on 表名--(for/alter/instead of)+動作(insert/delete/update/)--as-- 預存程序內容--go--for/alter 先執行操作,再觸發觸發器--instead of 直接替換操作--drop trigger 觸發器名 刪除觸發器--觸發器中的暫存資料表:deleted,insertedcreate trigger course_deleteon courseinstead of deleteas select *from deletedgodelete from course--deleted是一個暫存資料表,裡面儲存著你要刪除的那些資料create trigger course_deleteon courseinstead of deleteas delete from score where cno in(select cno from deleted) delete from course where cno in(select cno from deleted)go--刪除前先備份資料到備份表之後再刪除--事務:保障整個流程的完整執行,全部沒有問題,統一提交,一旦有問題回到原點begin tran --事物開始--開始寫流程語句--語句寫完之後if @@ERROR>0 --@@ERROR儲存語句中的錯誤編號,沒有錯誤是0rollback tran--復原事物elsecommit tran--提交事物-----資料庫設計三範式--1.每一列裡面的值都是單一的--2.滿足1,每個表都要有主鍵--3.滿足2,外鍵表中只出現主鍵表中的主鍵列,其他列不要出現。當一個表中出現了三列及以上的資料經常出現重複時,就需要把這些列拿出來單獨建一個表--設一個主鍵,然後在原來表中只出現主鍵就可以了
SQL server 筆記9(備份還原觸發器事務三範式)