Educoder——SQLServer 储存过程的创建与使用

编程要求

我们已经为你建好了数据库与数据表,并添加了相应的数据内容。
你只需:

  1. 补全右侧代码片段中 create proc_student_info 下的 Begin-End 区域间的代码,实现从表中查询所有学生基本信息的存储过程(存储过程名称一定要为 proc_student_info ,测试代码将调用 proc_student_info 存储过程,下面类似);
  2. 补全右侧代码片段中 create proc_sno 下的 Begin-End 区域间的代码,创建一个带参数的存储过程,输出指定学号的学生信息;
  3. 补全右侧代码片段中 create proc_add 下的 Begin-End 区域间的代码,创建一个带参数的存储过程,根据指定参数增加学生信息,如果学生编号已经存在则不能增加(调用此存储过程时,会依次填充各个字段值,请注意 insert 时,参数顺序与表字段的顺序一致);
  4. 补全右侧代码片段中 create student_del 下的 Begin-End 区域间的代码,创建一个带参数的存储过程,删除指定学号的学生信息。若成功,则输出 successfully deleted ;若没有该学号,则输出 No such student 。
    表 student 的字段类型除了 birthday 是 date 类型,其余均为 varchar 类型,表内容如下:

在这里插入图片描述

代码块部分为需要填入的答案

USE studentdb
go
SET NOCOUNT ON
go
–********** create proc_student_info
Begin **********–

create proc proc_student_info
as
begin 
select * from student
end

–********** End
go
exec proc_student_info
go
create proc_sno
Begin **********–

create proc proc_sno
@sno varchar(50)
as
begin 
select * from student where sno=@sno
end

–********** End
go
exec proc_sno ‘1001’
go
create proc_add
Begin **********–

create proc proc_add
@sno varchar(50),
@sname varchar(50),
@sex varchar(10),
@date date,
@dis varchar(50),
@school varchar(50)
as
begin 
if EXISTS(SELECT * FROM student WHERE sno=@sno)
print 'Already have a primary key '+@sno
else
insert into student values(@sno,@sname,@sex,@date,@dis,@school)
end

–********** End
go
exec proc_add ‘1004’,‘HMM’,‘female’,‘2019-6-2’,‘English’,‘national school’
go
exec proc_student_info
go
create student_del
Begin **********–

CREATE PROC student_del
@sno varchar(50)
as
begin
if EXISTS(select * from student where sno=@sno)
begin
 delete from student where sno=@sno
 PRINT 'successfully deleted'
end
else
 PRINT 'No such student'
end

–********** End **********–
go
exec student_del ‘1001’
go
exec proc_student_info
go

  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@玉面小蛟龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值