t-sql存储过程

/*
实验内容1:简单的存储过程。功能为:查询student表中的内容
*/
create procedure proc_select_student
as
select * from Student;
go

execute proc_select_student;
/*
实验内容2:带参数的存储过程。带了一个参数@s_sno,功能为:查询指定学生的信息
*/
create procedure proc_select_student_by_sno
@s_sno char(10)
as
select * from Student where Sno = @s_sno;
go

execute proc_select_student_by_sno '10001';

/*
3实验内容3:带输入和输出参数的存储过程
    既有输入参数也有输出参数。在存储过程中查询后得到的数据可以利用输出参数进行回传。
   功能为:查询指定学生的姓名
*/
create procedure proc_select_student_name_by_sno
@s_sname varchar(16) OUTPUT,--输出参数
@s_sno char(10) = '10001'--默认10001学号
as
select @s_sname=Sname from Student where Sno=@s_sno;
go
--调用带输出参数的存储过程,记得要使用output
declare
@sname varchar(16)
exec proc_select_student_name_by_sno @sname output,'10002'
print '10002号学生的姓名是'+@sname
/*
实验内容4:使用系统存储
过程查看某一存储过程的参数及其数据类型。
*/
exec sp_helptext proc_select_student_name_by_sno
/*
实验内容5:重命名存储过程 
*/
--创建一个test1存储过程,使用sp_rename来将其重命名为test2
create procedure test1
as
select * from Student
go

exec sp_rename 'test1','test2'

/*
实验内容7:删除存储过程
*/
--drop procedure pro_name
drop procedure test2
/*
实验内容8: (练习,自己试着写一下)编写一存储
过程在student表中插入一条学生的记录,并执行。
*/
create procedure proc_insert_into_student
@p_sno char(10),
@p_sname varchar(16),
@p_ssex char(2),
@p_sage tinyint,
@p_sdept varchar(10)
as
insert into Student(Sno,Sname,Ssex,Sage,Sdept) values(@p_sno,@p_sname,@p_ssex,@p_sage,@p_sdept)
if @@ERROR<>0
begin
print '插入失败'
end
else
begin
print '插入成功'
end
go

execute proc_insert_into_student '10009','8号小弟','男',22,'CS'
/*
实验内容9:(练习,自己试着写一下)编写一存储过程用来统计
student表中学生的人数(由输出参数返回其值),并执行。
*/
create procedure proc_get_count
@res_count varchar(10) output
as
select @res_count=count(Sno) from Student;
go

declare
@num varchar(10)
execute proc_get_count @num output
select '学生表中人数是'+@num;

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值