|
1.存储过程概述 (1)存储过程的作用 ①存储过程是存放在服务器上的预先编译好的SQL语句。 ②存储过程在第一次执行时进行语法检查和编译,编译好的存储过程在高速缓存中用于后续调用。 ③这样就可以使存储过程执行时更加迅速,更加高效。 ④存储过程可以带有输入和输出的参数。 |
(2)存储过程的优点 ①提供了安全机制 a.存储过程提供的安全机制可以只给用户授予访问存储过程的权限,而不授予用户访问存储过程中涉及到的表或视图的权限。 b.这样就可以实现让用户通过存储过程操作数据库中的数据,而不让用户直接操作与存储过程相关的表。 c.从而保证数据库中数据的安全性。 ②改进了执行性能 a.存储过程在第一次执行后,会在SQL Server的缓冲区中创建查询树。 b.这样在第二次执行该存储过程时,就无需进行预编译。 c.从而改进系统的执行性能。 ③减少了网络流量 a.存储过程是存放在服务器上的预先编译好的SQL语句组并在服务器端运行。 b.这样使用存储过程时,在服务器和客户端之间网络上需要传输的只有用来执行存储过程的命令和存储过程执行完毕后返回的结果。 c.用户无需在网络上发送上百个SQL语句,或是将众多数据从服务器端下载至客户端后再进行处理。 d.从而大大减少了网络负载。 ④增强了代码的重用性 a.存储过程可以增强代码的可重用性,提高开发效率。 b.一个存储过程可以视为用户为完成某个特定功能而编写的一个功能模块。 c.用户或其他用户可以在自己其它的存储过程中引用该存储过程。 d.从而实现代码的重用性,加快应用的开发速度,提高开发的质量和效率。 |
2.创建存储过程 (1)创建存储过程的方法 ①可以在查询分析器中执行T-SQL语句。 ②也可以在企业管理器创建。 |
(2)创建存储过程的步骤 ①首先展开企业管理器中左边控制台的数据库项。 ②然后选中数据库(本例中使用pubs数据库)下面的“存储过程”。 ③右击然后在快捷菜单中点击“新建存储过程”,就会弹出“存储过程属性”对话框。
④用户可以在文本框中输入要创建的存储过程的T-SQL代码。 |
(3)创建存储过程实例 ①功能 选出pubs数据库中authors表中的几列。 ②步骤 a.新建存储过程。 b.单击“检查语法”按钮可以检查编写的T-SQL语句是否合法。
③使用查询分析器测试 a.创建好存储过程后可以在查询分析器中测试一下。 b.执行存储过程的命令为exec procedure_name。 c.本例中,在查询分析器中输入下面代码。
d.执行后可以看到该存储过程的返回结果。 |
3.修改存储过程 (1)找到要修改的存储过程。 (2)双击或者在快捷菜单中选择“属性”选项,会弹出“存储过程属性”对话框。 (3)直接修改文本后保存即可。 |
4.删除存储过程 (1)找到要删除的存储过程。 (2)在快捷菜单中选择“删除”选项。 (3)然后点击“全部除去”按钮即可。 |
5.带参数的存储过程 (1)新建一个存储过程proc2,它包括一个输入参数lname和一个输出参数phone,T-SQL代码如下。
CREATE PROCEDURE proc2 @lname varchar(40), @phone varchar(12) OUTPUT AS select @phone=phone from authors where au_lname=@lname |
(2)保存后在查询分析器中输入下面的T-SQL代码来执行该存储过程,输出参数后需要加上OUTPUT关键字来标识。
use pubs declare @phone varchar(12) exec proc2 'White', @phone OUTPUT select phone=@phone go |
|