-- 创建一个带有输入参数的存储过程borrowed_book,查询指定读者编号的读者的借书情况。-- 创建带有输入参数的存储过程USE Library
GO
createprocedure borrowed_book --创建存储过程@namevarchar(10)--输入参数with encryption --对创建文本加密asbeginselect r.rid,r.rname,b.bid,k.bname,b.lenddate
from reader r innerjoin borrow b
on r.rid=b.rid innerjoin book k
on b.bid=k.bid
where rname=@nameend
GO
-- 调用存储过程:exec borrowed_book '杨静'--常量传值调用方法-- 或declare@temp1char(20)--变量传值调用方法set@temp1='杨静'exec borrowed_book @temp1
-- 创建一个带有输入参数和输出参数的存储过程selected_sl,返回指定学生所选科目数量。-- 创建带有一个输入参数和一个输出参数的存储过程USE EDUC
ifexists(select name from sysobjects
where name='selected_sl'andtype='p')dropprocedure selected_sl
GO
createprocedure selected_sl --创建存储过程@namevarchar(10),--输入参数@slint output --输出参数with encryption --创建文本加密asbeginselect@sl=count(*)from Student,SC
where Student.Sname=@nameand Student.SID=SC.SID
end-- 调用存储过程:USE EDUC
declare@stu_namechar(10)declare@stu_kmintset@stu_name='杨静'exec selected_sl @stu_name,@stu_km output --实参表print@stu_name+'所选科目数量是:'+convert(char(2),@stu_km)