求问有关check约束 检查表满足条件的行数的语句
CREATE TABLE FLIGHTS
(
flightNum varchar(100) not null primary key,
price int not null,
numSeats int not null,
numAvail int not null,
FromCity varchar(100),
ArivCity varchar(100)
)
go
CREATE TABLE RESERVATIONS
(
custName varchar(100),
flightNum varchar(100)
)
对以上两个表需要添加一个约束:
表RESERVATIONS中所有flightNum=表Flights中某一flightNum的行数之和应该等于Flights表中这个flightNum对应的numSeats-numAvail
求问这语句应该怎么写?
[解决办法]
--增加外键
alter table RESERVATIONS
add constraint flightNum_FK1 foreign key (flightNum) references FLIGHTS (flightNum)
--在修改字段值
update RESERVATIONS
set flightNum = FLIGHTS.numSeats-FLIGHTS.numAvail
from FLIGHTS where RESERVATIONS.flightNum = FLIGHTS.flightNum
[解决办法]
表示没看懂楼主的意思。
[解决办法]
lz 可以在RESERVATIONS插入数据时使用before inert 触发器进行判断是否符合你的算法