SQL Server 7.0 入门(五)
作者 佚名技术
来源 数据库编程
浏览
发布时间 2012-03-22
使用SQL Server开发应用程序 编写存储过程与触发器 存储过程和触发器是由用户创建的、驻留在服务器的一组Transact SQL查询语句。触发器是系统在特定条件下执行的。存储过程能够改善应用程序的性能。当客户程序需要访问数据时,一般要经过5个步骤才能访问到数据: 1) 查询语句被发送到服务器。 2) 服务器编译SQL代码。 3) 优化产生查询的执行计划。 4) 数据引擎执行查询。 5) 结果发回客户程序。 存储过程是在创建时编译的,当存储过程第一次执行时,SQL Server产生查询执行计划并将其存储进来,以利于将来使用。当通过存储过程发出一个请求时,上述的第2和第3步就没有了,这能大大改善系统的性能。即使在第1步上也能提高性能。因为此时发送到服务器的语句只是一条存储过程的EXECUTE语句,而不是庞大的、复杂的查询。这种特性能降低网络的流量。 除了性能方面的改善外,存储过程还提供了方便地集中维护应用程序的功能。如果将查询嵌入到应用程序中。而又需要对查询进行改变,则应用程序需要重新编译,并重新发布到所有的客户端。而在存储过程中,修改对用户而言是透明的,它只需要在服务器上重新编译存储过程。 存储过程还能提供安全机制,尽管用户可能无权执行存储过程中的命令,但它却可能有权执行存储过程本身。有时候,系统管理员不会给用户以数据修改(UPDATE、INSERT和DELETE)的权力。创建的存储过程却能进行这些操作。当然用户需要拥有执行该存储过程的权力。 建立存储过程 存储过程可以达到以下目的: · 带参数。 · 返回状态值。 · 调用其它存储过程。 · 在远程服务器上执行。 存储过程在“sysobjects”系统表中有一个表项,其类型为“P”。存储过程的文本存储在“syscomments”系统表中。创建存储过程需要使用Transact SQL命令CREATE PROCEDURE。 例如: USE pubs GO CREATE PROCEDURE ap_GetAuthorsForPublisher AS SELECT a.au_lname,a.au_fname FROM authors a, titleauthor ta, titles t, publishers p WHERE a.au_id = ta.Au_id AND ta.Title_id = t.title_id AND t.pub_id = p.pub_id AND p.pub_name = ’New Moon Books’ GO CREATE PROCEDURE语句的语法如下: CREATE PROC[DURE] procedure_name [;number] [@parameter_name ][OUTPUT] [,_n] ] [WITH {RECOMPILE |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 数据库正规化和设计技巧(2)下一篇: 使用MS SQL7的LINKED SERVER第二篇
关于SQL Server 7.0 入门(五)的所有评论