当该列是多列主键的一部分时,如何将列设置为“”(空字符串,相当于Oracle中的NULL)?这是动机......
CREATE TABLE entities (
column1 VARCHAR2(10)
, column2 VARCHAR2(10)
, body VARCHAR2(4000)
, CONSTRAINT pk_entities -- can't do this, because sometimes
PRIMARY KEY ( column1, column2 ) -- col2 is the empty string (NULL).
) ORGANIZATION INDEX ...
通常情况下,我会使用“真正的”主键,例如无意义的顺序ID(请参阅this question),然后对我的数据列设置一个唯一约束,就像这样......
CREATE TABLE entities (
, id NUMBER PRIMARY KEY
, column1 VARCHAR2(10)
, column2 VARCHAR2(10)
, body VARCHAR2(4000)
, CONSTRAINT unq_entities
UNIQUE ( column1, column2 )
) ORGANIZATION INDEX ...
但是,这是一个很大的索引组织表(IOT),所以主键有在数据列上(在IOT中,数据是索引)或者......我该怎么办?
谢谢! ♥
答案 0 :(得分:2)
答案 1 :(得分:1)
用虚拟字符串替换空字符串并稍后检查...取决于表格是如何使用的。
答案 2 :(得分:0)