【SQL】匯入資料、預存程式、自訂函數、觸發程式
匯入資料
預存程式
- 預存優點:
- 執行效率高:將一些經常使用的操作寫成預存程序,來節省時間。
- 統一的操作流程:避免使用者操作錯誤。
- 重複使用:可模組化、使用者皆可呼叫。
- 安全性:可加密。
- 預存種類:
- 系統預存(system stored procedures):sp_開頭,系統本身就有,用來進行各項設定、取得資訊或相關管理工作。
- 延伸預存(Extended stored procedures):xp_開頭,大多是以傳統的程式語言(例如C++)撰寫而成,其內容不是儲存在SQL中,而是以DLL的形式單獨存在。
- 自訂預存(User-defined stored procedures):dbo.開頭,會被加入所屬資料庫的可程式性/預存程序中,以物件的形式儲存。
自訂函數
*return--函數最後一個敘述必是return 若要傳回字串,傳回指定變數前不可以有其他return數值的敘述,否則指定變數會被轉為int並轉換失敗。
觸發程式
- 觸發種類:
- 條件約束(constraint):直接設定於資料表內,通常不需另外撰寫程式。ex:defult、check
- 觸發程序(trigger):對單一資料表所撰寫的特殊預存程序。
- 用途:
- 檢查是否為合法的更改
- 進行其他相關資料的更改
- 發出更改或預警的通知
- 自訂錯誤訊息
- 更改原來所要進行的資料操作
- 檢視表(view)也可以有觸發
- 種類與觸發時機:
- after:在資料變動完成後,才會被啟動並進行必要的善後處理或檢查。
- instead of:取代原本要進行的操作(保護你的資料表)
- 觸發程序的暫存表:
- 新增inserted
- 刪除deleted
*更改的時候新增、刪除兩個表都要看
*check只能在一個資料表底下,after觸發程序可以透過其他資料表來觸發