创建存储过程

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

创建存储过程

一、在SSMS图形化界面下创建一个存储过程

从stsc数据库的三个表中查询某人指定课程的成绩和学分。该存储过程接收与传递参数精确匹配的值,操作步骤如下所示:

(1)启动SQL Server Management Studio,在对象资源管理器中展开“数据库”结点,选中stsc数据库,将其展开。然后展开“可编程性”结点,右击“存储过程”选项,在弹出的快捷菜单中选择“新建存储过程”命令,结果如图所示:

(2)打开存储过程的脚本编辑窗口,在该窗口中输入要创建存储过程的T-SQL语句,输入后完成后单击按钮,系统提示“命令已成功完成”,如下所示;

这里输入的创建存储过程的T-SQL语句如下:

use stsc

go

create procedure student_info

@stname char(8),

@cname char(16)

as

select a.stno,stname,cname,grade,t.credit

from student a join score b

on a.stno=b.stno join course t

on o=o

where a.stname=@stname and ame=@cname

存储过程,至此完成存储过程的创建,如下所示:

二、使用T_SQL语句创建存储过程

创建一个存储过程do_insert,作用是向student表中插入一行数据。创建另外一个存储过程do_action,在其中调用第一个存储过程,并根据条件处理该行数据,处理后输出相应的信息。

(1)创建do_insert存储过程,作用是向student表中插入一行数据,如图所示:

(2)创建另外一个存储过程do_action,在其中调用第一个存储过程,并根据条件处理该行数据,处理后输出相应的信息,如下所示:

create procedure do_action@x bit,@str char(8)output

as

begin

exec do_insert

if@x=0

begin

update student set stname='李梦',stsex=0 where stno='1009'

set@str='修改成功'

end

else

if@x=1

begin

delete from student where stno='1009'

set@str='删除成功'

end

end

declare@str char(8)

exec do_action0,@str output

select@str;

三、设计一个存储过程avg_course,求指定课程号的课程名和平均分,并用相关数据进行测试,如下所示:

use stsc

go

create procedure avg_course(@num int)

as

select ame,A VG(b.grade)as平均成绩

from course a,score b

where o=o and o=@num

group by o,ame;

go

测试:课程号为801的课程名和平均分

exec avg_course801

四、用系统存储过程查看刚创建的存储过程的信息,如下所示:

use stsc

go

execute sp_help avg_course

execute sp_helptext avg_course

execute sp_depends avg_course

go

五、删除存储过程,如下所示:drop procedure student_info

相关文档
最新文档