Wie kann ich eine Spalte als "" (die leere Zeichenfolge, gleich NULL in Oracle) festlegen, wenn diese Spalte ein Teil von ist ein mehrspaltiger Primärschlüssel? Dies ist die Motivation ...Oracle-Datenbank: Indexorganisierte Tabelle mit NULL-Werten (im mehrspaltigen Primärschlüssel)
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 ...
Normalerweise würde ich einen „echten“ Primärschlüssel wie eine sinnlose sequenzielle ID verwenden (siehe this question) und dann eine eindeutige Einschränkung über meine Datenspalten setzen, wie so ..
.CREATE TABLE entities (
, id NUMBER PRIMARY KEY
, column1 VARCHAR2(10)
, column2 VARCHAR2(10)
, body VARCHAR2(4000)
, CONSTRAINT unq_entities
UNIQUE (column1, column2)
) ORGANIZATION INDEX ...
dies ist jedoch eine große Index-organisierte Tabelle (IOT), so dass der Primärschlüssel hat auf den Datenspalte zu sein (in IOTs, die Daten der Index) oder auch ... Was soll ich machen?
Danke! ♥
Kann das nicht tun; Der Wert in 'column2' kann * anything * sein. – Anastasia