我正在尝试为 Oracle 表创建触发器。这是我有两个表书籍,副本的要求(书籍和副本有 1 到 n 的关系。每本书可以有 0 到 n 个副本)
书表:
CREATE TABLE Book
(
book_id INTEGER NOT NULL ,
isbn VARCHAR2 (20) NOT NULL,
publisher_id INTEGER NOT NULL ,
tittle VARCHAR2 (100) NOT NULL ,
cat_id INTEGER NOT NULL ,
no_of_copies INTEGER NOT NULL ,
....
CONSTRAINT isbn_unique UNIQUE (isbn),
CONSTRAINT shelf_letter_unique UNIQUE (shelf_letter, call_number)
) ;
副本表
CREATE TABLE Copies
(
copy_id INTEGER NOT NULL ,
book_id INTEGER NOT NULL ,
copy_number INTEGER NOT NULL,
constraint copy_number_unique unique(book_id,copy_number)
) ;
触发器(在更新、编辑 Book 表时)应将其相应的副本记录添加到 Copies 表中。因此,如果插入 Books 表的 Book.no_of_copies 为 5,则应将五个新记录插入 Copies 表中。