USE EMIS1
GO
/* 1、创建一个名为“P_学生总数” 的存储过程。要求查询学生表中与王迪同学同伴的学生总人数,并利用输出参数输出查询的总人数 */
create procedure P_学生总数 @math int output
as
select @math=count(学号) from 学生
where 班级代码 in(select 班级代码 from 学生 where 姓名='王迪')
GO
/* 2、执行存储过程“P_学生总数”。要求输出查询的总人数 */
declare @x int
exec P_学生总数 @x output
print convert(varchar(5),@x)
GO
/* 3、创建一个名为“P_学生总数1”的存储过程。要求查询学生表中与某同学同班的学生总人数,并利用输入参数输入学生姓名,输出参数输出查询的总人数 */
create procedure P_学生总数1 @tname varchar(20)='王迪',@math int output
as
select @math=COUNT(学号) from 学生
where 班级代码 in(select 班级代码 from 学生 where 姓名=@tname)
go
USE EMIS1
GO
declare @kt int,@tname varchar(20)
set @tname = '王迪' -- select @tname='王迪'
exec P_学生总数1 @tname,@kt output
--exec P_学生总数1 '王迪',@kt output
print '某班学生总人数为:'+convert(varchar(5),@kt)+'人'
GO
/* 4、执行存储过程“P_学生总数1”。要求输入学生姓名“贾铭伟”,并输出查询与贾铭伟同班的总人数 */
declare @kt int,@tname varchar(20)
set @tname = '贾铭伟' -- select @tname='王迪'
exec P_学生总数1 @tname,@kt output
--exec P_学生总数1 '王迪',@kt output
print '某班学生总人数为:'+convert(varchar(5),@kt)+'人'
GO
SQL Server-【知识与实战VII】存储过程(下)
最新推荐文章于 2024-04-26 17:38:47 发布