У меня есть таблица, в которой мне нужно, чтобы оба значения были первичными, потому что я ссылаюсь на эту комбинацию как на внешний ключ в других таблицах. Определение таблицы и данные, которые мне нужно указать, следующие:
create table T1
(
sno number(10),
desc varchar2(10),
constraint T1_PK primary key(sno,desc)
)
DATA to put
sno | desc
---------------------------
100 | "hundred"
000 | null
120 | "one twenty"
123 | "" <EMPTY STRING>
000 | "" <EMPTY STRING>
Проблема здесь в том, что desc иногда может быть нулевым. Первичный ключ не может быть нулевым, поэтому, когда я сталкиваюсь с нулевым значением - я просто вставляю "" в таблицу. Проблема здесь в том, что иногда в desc может быть пустая строка.
Если я вставлю данные «примерно 100», «Ноль» и «100», это две разные вещи, но я не смогу поместить их в таблицу. Я не хочу помещать какую-либо строку, например, «EMPTY», если она пуста, поскольку это может сбить с толку конечного пользователя, который смотрит на таблицу.
1) Как я могу обработать нулевой регистр для desc, имея его в качестве первичного ключа. Я не могу использовать автоматический порядковый номер.
2) Как я могу отличить введенную мною пустую строку от уже существующей?