您需要在BOOK_INFO(QUANTITY)上创建一个唯一索引
CREATE TABLE BOOKS (
ID INT IDENTITY PRIMARY KEY,
BOOK_NAME VARCHAR(30) NOT NULL,
BOOK_AUTHOR VARCHAR(30) NOT NULL
)
CREATE TABLE BOOK_INFO (
BOOK_ID INT PRIMARY KEY FOREIGN KEY REFERENCES BOOKS(ID),
QUANTITY INT DEFAULT 1 NOT NULL,
PRICE DECIMAL(5,2) NOT NULL,
CONSTRAINT CHECK_PRICE CHECK (PRICE > 0),
CONSTRAINT CHECK_QUANTITY CHECK (QUANTITY > 0)
)
CREATE UNIQUE INDEX IX_BOOK_INFO_QUANTITY ON BOOK_INFO(QUANTITY)
CREATE TABLE ABAILABLE_BOOKS
(
BOOK_ID INT PRIMARY KEY,
QUANTITY INT DEFAULT 1 NOT NULL,
CONSTRAINT FK_BOOK_ID FOREIGN KEY (BOOK_ID) REFERENCES BOOKS(ID),
CONSTRAINT FK_QUANTITY FOREIGN KEY (QUANTITY) REFERENCES BOOK_INFO(QUANTITY),
CONSTRAINT ABAILABLE_BOOKS_CHECK_QUANTITY CHECK (QUANTITY > 0)
)