我在自学甲骨文。
这是我的密码:
create table Schedule
(
Schedule_SN number(10) primary key,
ScreeningDate date not null,
Price number(6) not null
);
create table Seat
(
Schedule_SN number(10) REFERENCES Schedule(Schedule_SN),
Seat_SN varchar2(4) not null
);
create table Reservation
(
Reservation_SN number(15) primary key,
DCtype number(2) not null,
DCamount number(7),
PaymentMethod number(1) not null,
TotalPrice number(7) not null,
ReservationDate date not null
);
create table Reservation_details **I need help here**
(
Reservation_SN number(15) REFERENCES Reservation(Reservation_SN),
Schedule_SN number(10) REFERENCES Schedule(Schedule_SN),
Seat_SN varchar2(10) REFERENCES Seat(Seat_SN),
CONSTRAINT Reservation_detailesPK primary key (Reservation_SN, Schedule_SN)
);
错误消息:
错误-ora-02270:此列列表没有匹配的唯一键或主键
227000000-“此列列表没有匹配的唯一键或主键”
- 原因:create/alter table语句中的references子句给出的列列表在被引用的表中没有匹配的unique或primary key约束。
- 操作:使用all\u cons\u columns目录视图查找正确的列名
如何制作我的2列 (Reservation_SN, Schedule_SN)
变成主键?
1条答案
按热度按时间pgky5nke1#
问题在于
seat_sn
. 您想要子列reservation_details
引用中的父列seat
,但父列不是主键或唯一键。事实上,seat
没有主键;只是制造seat_sn
此表的主键(如果它适合您的用例),其余的应该可以正常运行:db小提琴演示