[英]SQL- CONSTRAINT
是否可以創建一個根據另一列值自動更新列值的表?
例如,我需要創建一個 GRADES 表:
GRADES-> STUDENT_ID GRADE1 GRADE2 GRADE3 FINAL_GRADE
我希望最終成績中的值等於不為空的最后一個成績。 例如,
(studentid = 12345 grade1 = null grade2 = null grade3 = null finalgrade =null)
(studentid = 12345 grade1 = 80 grade2 = null grade3 = null finalgrade =80)
(studentid = 12345 grade1 = 80 grade2 = 75 grade3 = null finalgrade =75)
(studentid = 12345 grade1 = 80 grade2 = 75 grade3 = 90 finalgrade =90)
是的,有一種叫做虛擬列的東西:
alter table grades
add final_grade generated always as (coalesce(grade3,grade2,grade1));
coalesce
函數返回它的第一個不為空的參數。
請注意,您不能在虛擬列中插入或更新值,它們由數據庫計算。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.