我有一個表,我需要這兩個值是主要的,因爲我引用這個組合作爲外鍵在其他表中。表格定義和我需要放的數據如下如何使用空字符串具有空值的主鍵?
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,Null和100,「」是兩個不同的東西,但我無法將它們放在表格中。如果爲空,我不想放置像'EMPTY'這樣的字符串,因爲它可能會混淆正在查看錶格的最終用戶。
1)我如何處理desc的空例,並將其作爲主鍵。我不能使用自動序列號。 2)如何區分由我引入的空字符串和已經存在的空字符串?
爲什麼不在記錄中使用EMPTY而不是null,並使用NULLIF('EMPTY',desc)函數將結果返回給最終用戶? – garik 2010-03-11 08:41:42
感謝IGOR,這似乎是一個不錯的想法..再次感謝 – Ram 2010-03-11 11:57:05