⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 数据库设计
💻
字号:
Use Book
go


--创建索引
Create nonclustered Index 部门购书单_索引 ON 部门购书单(部门号)
--Drop  Index 部门购书单.部门购书单_索引

Create clustered Index 采购员发送入库单_索引 ON 采购员发送入库单(管理员号)

Create nonclustered Index 购书图书_索引 ON 购书图书(图书名)

Create clustered Index 管理员分类_索引 ON 管理员分类(管理员号)

Create nonclustered Index 入库图书_索引 ON 入库图书(合格书名)

Create nonclustered Index 图书库_索引 ON 图书库(分类号)





--创建视图
Create View SumNum
as
Select 合格书名,合格书数量 + 库存量 as 图书库数量 From 图书库 inner join 入库图书
ON 合格书名 = 图书名
go

Select * From SumNum


Create View Price
as
Select 提货通知单号,图书名,图书数量*价格 as 总价格 From 提货图书
go

Select * From Price


Create View SumPrice
as
Select sum(图书数量*价格) as 图书总价 From 提货图书
go

Select * From SumPrice




--创建存储过程
Create proc ShowPrice
@Name varchar(40)
as
Begin
    Select 提货图书.图书名,作者,出版社,价格,合格书数量,总价格 as 图书价格
    From  入库图书 inner join 提货图书 ON 提货图书.图书名 = 入库图书.合格书名
	  inner join Price ON 提货图书.图书名 = Price.图书名
    Where 提货图书.图书名 = @Name
End

go

exec ShowPrice 'C++语言程序设计'


--对新进入的图书进行添加
Create proc 图书计算
@BookN varchar(40),			--插入的图书名
@Style int				--插入的图书类型
as
Begin
    If @BookN not IN (Select 图书名 From 图书库)	--判断插入的图书名是否在图书库中
	Insert into 图书库( 图书名,作者,价格,出版社,库存量,分类号)
	Select 图书名,作者,价格,出版社,图书数量,@Style From Book..提货图书
	Where @BookN = 图书名
    Else
	Update 图书库			--如果,图书库中有图书,那么,就只改变图书库中图书的数量
	Set 库存量=库存量+(Select 合格书数量 From 入库图书 Where 合格书名 = @BookN)
	Where 图书名 = @BookN
End

declare curBook cursor			--以书名国主创建一个游标
Scroll					--定义认证标志类型
For
Select 合格书名 From 入库图书
Open curBook				--打开游标

declare @Num smallint, @BookName varchar(40), @Styple_id int
Set @Num = 0				--判断入库图书的个数

Fetch first From curBook into @BookName	--取出当前图书名

While @Num < (Select count(*) From 入库图书)	
Begin
    exec 图书计算 @BookName,'1001'		--图书计算
    Fetch next From curBook into @BookName	--取出下一个图书名    
    Set @Num = @Num + 1
End

Select 图书名,作者,价格,出版社,库存量 From 图书库

Close curBook
Deallocate curBook


sp_helptext 图书计算



--创建触发器
Alter Trigger 图书租借					--判断图书是否可租借
on 图书库
instead of update
as
   if (select 库存量 from  inserted) <= 0
     begin
	print '对不起,图书以借完!'
	rollback transaction
     end
   else
     begin
	print '还有图书可以租借'
	rollback transaction
     end

update 图书库
set 库存量 = 库存量
where 图书名 = 'C++语言程序设计' 





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -