mysql触发器借书还书_数据库:建一个触发器,当 借书和还书时自动更新图书馆图书在册数量!求代码?...

create table K--图书库存表

(K_id varchar(6) primary key,

K_Name varchar(30),

K_Ku int)

go

insert into K select '9001','苹果核战记',10

go

create table H --还书表

(K_Id varchar(6) primary key,

K_Name varchar(30),

X_ID char(8),

JC datetime,--借出时间

YH datetime,

GH datetime --归还时间

)

go

create table J --借书表

(K_ID varchar(6) primary key,

X_ID char(8),

JC datetime,--借出时间

YH datetime

)

go

--借书表建立触发器(当发生借书时,insert into一条记录触发触发器)

create trigger Tri_J

on J

for Insert --插入动作触发

as

declare @ID varchar(6)

select @ID=K_ID from inserted

update K set K_ku=K_ku-1 where K_ID=@ID --借书库存减一

go

--还书表建立触发器(当还书是,Insert into一条记录触发触发器)

create trigger Tri_H

on H

for insert

as

declare @ID varchar(6)

select @ID=K_ID from inserted

update K set K_ku=K_ku+1 where K_ID=@ID --借书库存加一

go

--测试

--借书

insert into J select '9001','X001',getdate(),dateadd(day,10,getdate())

select * from K--库存减一 9

--还书

insert into H select '9001','苹果核战记','X001',getdate(),dateadd(day,10,getdate()),dateadd(day,8,getdate())

select * from K--库存加以 10

  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个图书馆借书还书管理系统的MYSQL数据库,包含了读者表、图书表和借阅记录表: 读者表(Reader): ``` CREATE TABLE Reader ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, gender VARCHAR(10) NOT NULL, age INT NOT NULL, address VARCHAR(100) NOT NULL, phone VARCHAR(20) NOT NULL, PRIMARY KEY (id) ); ``` 图书表(Book): ``` CREATE TABLE Book ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, author VARCHAR(50) NOT NULL, publisher VARCHAR(50) NOT NULL, publish_date DATE NOT NULL, category VARCHAR(50) NOT NULL, total_num INT NOT NULL, remain_num INT NOT NULL, PRIMARY KEY (id) ); ``` 借阅记录表(Borrow_Record): ``` CREATE TABLE Borrow_Record ( id INT NOT NULL AUTO_INCREMENT, reader_id INT NOT NULL, book_id INT NOT NULL, borrow_date DATE NOT NULL, return_date DATE, status INT NOT NULL DEFAULT 0, PRIMARY KEY (id), CONSTRAINT fk_reader FOREIGN KEY (reader_id) REFERENCES Reader(id), CONSTRAINT fk_book FOREIGN KEY (book_id) REFERENCES Book(id) ); ``` 在这个数据库中,读者表和图书表分别存储读者图书的基本信息,借阅记录表则存储读者图书借阅关系,包括借阅日期、归还日期等信息。 同借阅记录表中的reader_id和book_id字段分别与读者表和图书表的id字段立了外键约束,确保借阅记录中的读者图书ID存在于对应的表中。 以上就是一个简单的图书馆借书还书管理系统的MYSQL数据库设计方案。具体实现需要根据实际需进行调整和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值