這是我的一段代碼。
CREATE TABLE ORDER_SOURCE(
OS_ID NUMBER(4),
OS_DESC VARCHAR2(20),
CONSTRAINT order_source_os_id_pk PRIMARY KEY (OS_ID),
CONSTRAINT order_source_os_desc_cc CHECK ((OS_DESC='CATALOG DESCRIPTION') OR (OS_DESC='WEB SITE'))
);
我也希望能夠以小寫形式插入值。示例如下:
INSERT INTO ORDER_SOURCE VALUES(0002,'Web Site');
但是我可以編輯我的檢查約束來添加“網站”或“目錄”,我只是想嘗試其他的東西。謝謝。
uj5u.com熱心網友回復:
您可以將列小寫,然后與小寫字串文字進行比較:
CONSTRAINT order_source_os_desc_cc
CHECK (LOWER(OS_DESC) IN ('catalog description', 'web site'))
uj5u.com熱心網友回復:
upper()orlower()將是最簡單的方法,但只是為了完整起見,從 12.2 開始還有collate binary_ci(不區分大小寫)或binary_ai(另外不區分重音)。
create table order_source
( os_id number(4) constraint order_source_os_id_pk primary key
, os_desc varchar2(20) not null
constraint order_source_os_desc_cc
check (os_desc collate binary_ci in ('CATALOG DESCRIPTION', 'WEB SITE'))
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/327537.html
上一篇:什么是正確的連接格式?
