sqlserver存儲過程T-SQL操做

library數據庫有以下表
book表:
在這裏插入圖片描述
借閱表borrow:
在這裏插入圖片描述
讀者表reader:
在這裏插入圖片描述web

1、不帶參數的存儲過程

爲數據庫「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

2、帶輸入參數的存儲過程

爲數據庫「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 查詢某讀者借閱狀況 '楊淑華'

3、帶默認輸入參數

爲數據庫「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

4、帶輸入、輸出參數的存儲過程

爲數據庫「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 平均價值

5、總結

在這裏插入圖片描述

相關文章
相關標籤/搜索