library数据库有以下表
book表:
借阅表borrow:
读者表reader:
web
为数据库“Library”建立一个多表查询的存储过程,查询出“数据库”相关图书被借阅状况。数据库
Create proc 图书借阅状况 As begin Select * from reader,borrow,book Where reader.RID=Borrow.RID and Borrow.bid=book.bid and book.bname like '%数据库%' end
为数据库“Library”建立一个查询某读者(姓名在执行存储过程时给出)借阅状况的存储过程。svg
Create proc 查询某读者借阅状况 @name varchar(20) As begin Select * from reader,borrow,book Where reader.RID=Borrow.RID and Borrow.bid=book.BID and Reader.Rname=@name End
调用代码:3d
exec 查询某读者借阅状况 '程鹏' exec 查询某读者借阅状况 '杨淑华'
为数据库“Library”建立一个查询某读者借阅状况的存储过程。读者姓名在执行存储过程时给出,若是执行存储过程时未给出读者姓名,则查询全部读者借阅状况。code
Create proc 查询某读者借阅状况_带默认值_ @name varchar(20)=NULL As begin if @name is NULL begin Select * from reader,borrow,book Where reader.RID=Borrow.RID and Borrow.bid=book.BID end else begin Select * from reader,borrow,book Where reader.RID=Borrow.RID and Borrow.bid=book.BID and Reader.Rname=@name end end
为数据库“Library”建立一个查询 某出版社图书总价值和平均价值的存储过程,并调用该存储过程查询出“人民邮电出版社”的图书总价值和平均价值。用带输出参数的存储过程实现!xml
create proc 查询某出版社图书总价值和平均价值 @_publisher_ varchar(30) , @总价值 decimal(9,2) output, @平均价值 decimal(9,2) output as begin Select @总价值=SUM(Price),@平均价值=avg(Price) from book where publisher = @_publisher_ End
调用代码:blog
declare @output1 decimal(9,2),@output2 decimal(9,2) exec 查询某出版社图书总价值和平均价值 '人民邮电出版社',@output1 Output,@output2 Output select @output1 as 总价值,@output2 as 平均价值