[英]Case-Insensitive Check Constraint
創建了下表:
CREATE TABLE VEHICLES
(vehicleVIN VARCHAR(30) PRIMARY KEY,
vehicleType VARCHAR(30) NOT NULL CHECK (vehicleType IN ('compact', 'midsize', 'fullsize', 'suv', 'truck')),
vehicleWhereFrom VARCHAR(30) NOT NULL CHECK (vehicleWhereFrom IN ('maryland','virginia','washington, d.c.'));
運行插入命令時,具有大寫字母的條目(例如:Compact,COMPACT,Maryland,VIRGINIA等)違反了檢查約束(錯誤ORA-02290)。 如何使檢查約束不區分大小寫? 期望的結果是,只要正確拼寫單詞,無論使用哪種大小寫,都可以接受插入的數據。 通過NOVA使用Oracle數據庫。 謝謝!
使用lower
檢查列的小寫版本。
CHECK vehicleType VARCHAR(30) NOT NULL CHECK (lower(vehicleType) IN ('compact', 'midsize', 'fullsize', 'suv', 'truck')),
CHECK vehicleWhereFrom VARCHAR(30) NOT NULL CHECK (lower(vehicleWhereFrom) IN ('maryland','virginia','washington, d.c.'));
您可以使用
CHECK (REGEXP_LIKE(vehicleType,'compact|midsize|fullsize|suv|truck','i'))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.