回覆列表
  • 1 # 聽說說說說說說

    欄位的預設值和有效性規則主要是用於維護資料的有效性與和諧。前者的作用為當向資料表插入資料時,如果未指定插入欄位的資料值則自動向該欄位插入預設的預設值。後者用於限定允許寫入欄位的資料值範圍。至於有效性文字則是規定當寫入欄位的資料值違反有效性規則時,系統彈出的提示文字。下面舉例進一步說明這三種屬性的作用。

    假設有一張資料表

    員工(ID,姓名,狀態)

    其中“狀態”欄位設定了預設值、有效性規則和有效性文字屬性

    預設值="在職";

    有效性規則="在職" or "離職";

    有效性文字="狀態欄位只能輸入“在職”或“離職”兩種狀態"

    1)資料表的欄位預設值是指為欄位設定一個數據值,當向資料表插入一條新記錄時,如果沒有為該已設定了預設值的欄位指定一個具體的資料值(也就是留空時),那麼系統就會自動將預設的預設值寫入該欄位。

    執行SQL語句 insert into 員工(ID,姓名) values("001","張三")

    員工表增加一條記錄 >> 001 張三 在職 (沒有指定狀態,系統插入預設值“在職”)

    2)資料表的有效性規則是指,輸入該欄位的資料值不得違反有效性規則的規定,否則系統將拒絕那些違反規定的資料寫入資料表。它可以限定能寫入該欄位裡的資料值

    執行SQL語句 insert into 員工(ID,姓名,狀態) values("002","李四","離職")

    因為沒有違反有效性規則,

    員工表成功增加一條記錄 >> 002 李四 在職

    執行SQL語句 insert into 員工(ID,姓名,狀態) values("003","王五","離開")

    因為“離開”違反了有效性規則,

    系統報錯,彈出資訊框“狀態欄位只能輸入“在職”或“離職”兩種狀態”,記錄插入失敗

    3)資料表的有效性文字是指,輸入該欄位的資料值違反了有效性規則報錯時,系統給出的相關自定義錯誤提示。

    執行SQL語句 update 員工 set 狀態="在崗" where 姓名="張三"

    語句試圖將張三的狀態改為“離開”違反了有效性規則,

    系統報錯,彈出資訊框“狀態欄位只能輸入“在職”或“離職”兩種狀態”,記錄修改失敗

  • 中秋節和大豐收的關聯?
  • 去泰國留學有哪些優勢呢?