簡體   English   中英

不區分大小寫的檢查約束

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM