### 实现从表中查询所有学生基本信息的存储过程(存储过程名称一定要为 proc_student_info
1
2
3
4
5
| create procedure proc_student_info
as
Begin
select * from student
End
|
创建一个带参数的存储过程,输出指定学号的学生信息;#
1
2
3
4
5
6
| create procedure proc_sno
@sno_input varchar(30)
as
Begin
select * from student where sno = @sno_input
End
|
创建一个带参数的存储过程,根据指定参数增加学生信息,如果学生编号已经存在则不能增加(调用此存储过程时,会依次填充各个字段值,请注意 insert 时,参数顺序与表字段的顺序一致);#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| create procedure proc_add
@sno varchar(100),
@sname varchar(100),
@sex varchar(100),
@birthday date,
@discipline varchar(100),
@school varchar(100)
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,@birthday,@discipline,@school)
End
|
1
2
3
4
| exec proc_add '1004','HMM','female','2019-6-2','English','national school'
go
exec proc_student_info
go
|
创建一个带参数的存储过程,删除指定学号的学生信息。若成功,则输出 successfully deleted ;若没有该学号,则输出 No such student#
1
2
3
4
5
6
7
8
9
10
11
12
| create procedure student_del
@sno varchar(100)
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
|
1
2
3
4
| go
exec student_del '1001'
go
exec proc_student_info
|