數據庫學習筆記「斷言」


概述

在SQL中可以使用數據定義語言中的CREATE ASSERTION語句,通過聲明性斷言(declarative assertions)來制定更具一般性的約束。

斷言創建后,任何對斷言中所涉及關系的操作都會觸發關系數據庫管理系統對斷言的檢查

⚠️任何使斷言不為真值的操作都會被拒絕執行

創建斷言的語句

CREATE ASSERTION <斷言句> <CHECK 子句>

每個斷言都被賦予一個名字,<CHECK子句>中的約束條件與WHERE子句的條件表達式類似

Eg: 限制數據庫課程最多60名學生選修

CREATE ASSERTION <表名> 
CHECK (60 >= SELECT count(*) FROM Course, SC)

刪除斷言的語句

DROP ASSERTION <斷言句>

⚠️如果斷言很復雜,則系統在檢測和維護斷言上的開銷較高


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM