我有兩張如下定義的表A和B.如何獲得可能具有空值的主鍵組合?
create table A
(
A_1 varchar2(10) NOT NULL,
A_2 varchar2(10),
A_3 varchar2(10),
constraint A_PK primary key (A_1,A_2)
)
TABLE A DATA
A_1 |A_2 |A_3
1111 abc some_text1
1111 null some_text1
1112 abc some_text2
1113 def some_text3
create table B
(
B_1 varchar2(10) NOT NULL,
B_2 varchar2(10),
B_3 varchar2(10),
constraint B_PK primary key (B_1,B_2,B_3),
constraint B_FK foreign key (B_1,B2) references A(A_1,A_2)
)
TABLE B DATA
B_1 | B_2 |B_3
1111 abc text1
1111 null text2
1111 null text3
1111 null text4
表A中的A_2列有時可以爲空,但A_1和A_2的組合總是唯一的。我需要A_2成爲主鍵的一部分,因爲那時只有我可以在表B中引用A_1和A_2它們作爲外鍵。這裏的問題是主鍵不能爲空。如何解決這個問題呢? 任何迴應將不勝感激