数据库实验10存储过程

  • 格式:doc
  • 大小:72.50 KB
  • 文档页数:4

下载文档原格式

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

实验10存储过程

一、实验目的

1. 掌握用户存储过程的创建操作。

2. 掌握用户存储过程执行操作。

3. 掌握用户存储过程的删除操作。

二、相关知识

存储过程:SQL Server 提供的一种将一些固定操作集中起来,由SQL Server 数据库服务器来完成的功能。

存储过程是机构编译和优化后存储在数据库服务器中的SQL语句,只需要调试即可使用。存储过程的优点有:

1)让服务器端能够快速执行某些SQL语句。

2)减少了服务器和客户端之间的数据流的。

3)方便实施企业规则。

4)封装后的过程对数据库保护具有一定安全性。

三、实验内容

1. 创建带输入参数的存储过程。

2. 执行所创建的存储过程。

3.删除所有新创建的存储过程。

四、实验步骤

(一)

1. 创建带输入参数的存储过程。

1)启动SQL Server Management Studio,选择要操作的数据库,如“学生选课”数据库,然后打开新建查询窗口。

2)在查询命令窗口中输入创建存储过程的CREATE PROCEDURE 语句,如图14.11.1所示:

这里,我们创建一个带输入参数的存储过程proc_xsqk1,其中的输入参数用于接收课程号,默认值为“001”,然后在“选课表”中查询该课程成绩不及格的学生学号,接着在“学生表”中查找这些学生的基本信息,包括学号、姓名、性别和联系电话信息,最后输出。

图14.11.1在查询窗口中创建存储过程

3)点击快捷工具栏上的快捷铵钮“√”,对输入的CREATE PROCEDURE 语句进行语法分析。

如果有语法错误,则进行修改,直到没有语法错误为止。

4)点击快捷工具拦上的快捷按钮“!”,执行CREATE PROCEDURE 语句。

5)查看生成的存储过程,如图14.11.2。

图14.11.2存储过程

2.执行所创建的存储过程

1)在查询命令窗口中输入以下EXECUTE 语句,执行存储过程proc_XSQK1。

EXECUTE proc_xsqk1 '001'

2)点击快捷工具拦上的快捷按钮“!”,执行存储过程。

3. 删除新建的存储过程

在查询命令的窗口中输入DROP PROCEDURE语句和所有新创建的存储过程名。

DROP PROCEDURE

Proc_xsqk1

点击快捷工具上的快捷按钮“!”,删除存储过程。

(二)增加内容:

1.看看下面什么意思?

--创建存储过程

create procedure upd_sphone

@newp varchar(20),@nam varchar(20),@oldp varchar(20)output

as

begin

select @oldp=sphone from s where sname = @nam;

if @oldp is not null

begin

print @oldp;

update s set sphone = @newp where sname = @nam;

end

else

print @nam +' is not exist!';

end

--下面是执行存储过程:

select*from s

begin

declare @temp char(20)

print @temp

execute upd_sphone '44444','张山', @temp

print'张山老号码为:'+@temp

end

2.完成一下程序:

(1).创建一张用户表user:账号account,姓名username,密码pwd,登录次数loginnum(整型)

(2).创建一个存储过程up_login,实现登录判断,如果成功登录次数加1,返回0,如果用户不存在,打印用户不存在,返回一个值1,如果密码不对,返回值2,打印密码不存在。

思路:

1)有3个参数:用户名、密码是输入参数,返回值是输出参数

2)先用输入的用户名去查询用户名,再判断查询出来的用户名是否存在(判断是否存在可以参考上面的例子)

3)如果不存在打印“用户不存在”设置返回值为1;

4)如果存在,那么用输入的用户名和密码去查用户名;再判断是否在

5)如果在,用update命令对loginnum加1,并设置返回值0,如果不存在那么设置返回值2,打印密码不存在。

五、实验要求

1. 用Transact-SQL 写出实验操作的语句。

2. 实验操作步骤和实验结果。

3. 实验中出现的问题和解决方法。

六、注意事项

1. 不能将CREATE PROCEDURE语句同其他SQL语句组合到单个批处理中。

2. 一个存储过程的最大尺寸为128MB。

七、思考题

1. 如何实现一个带嵌套的存储过程。

2. 使用存储过程有什么好处?