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

Logo

本社区面向用户介绍CSDN开发云部门内部产品使用和产品迭代功能,产品功能迭代和产品建议更透明和便捷

更多推荐