| 网站首页 | JAVA文章 | AppServers | Web开发 | 应用开发 | 资源下载 |
    想学好编程,外语很重要,最新的编程技术还是在国外  [enadd  2006年12月25日]        
设为首页 加入收藏 联系站长
您现在的位置: 编程笔记网 >> 数据库 >> sqlserver >> sqlserver入门 >> 文章正文
SQL Server联机丛书:存储过程及其创建          【字体:
SQL Server联机丛书:存储过程及其创建
作者:-    文章来源:-    点击数:    更新时间:2006-4-20

存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。

存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。

可以出于任何使用 SQL 语句的目的来使用存储过程,它具有以下优点:

  • 可以在单个存储过程中执行一系列 SQL 语句。
  • 可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。
  • 存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快。

存储过程的功能取决于数据库所提供的功能。

创建存储过程

可使用 Transact-SQL 语句 CREATE PROCEDURE 创建存储过程。创建存储过程前,请考虑下列事项:

  • 不能将 CREATE PROCEDURE 语句与其它 SQL 语句组合到单个批处理中。
  • 创建存储过程的权限默认属于数据库所有者,该所有者可将此权限授予其他用户。
  • 存储过程是数据库对象,其名称必须遵守标识符规则。
  • 只能在当前数据库中创建存储过程。

创建存储过程时,应指定:

  • 所有输入参数和向调用过程或批处理返回的输出参数。
  • 执行数据库操作(包括调用其它过程)的编程语句。
  • 返回至调用过程或批处理以表明成功或失败(以及失败原因)的状态值。
系统存储过程

Microsoft® SQL Server™ 2000 中的许多管理活动是通过一种称为系统存储过程的特殊过程执行的。系统存储过程在 master 数据库中创建并存储,带有 sp_ 前缀。可从任何数据库中执行系统存储过程,而无需使用 master 数据库名称来完全限定该存储过程的名称。

强烈建议您不要创建以 sp_ 为前缀的存储过程。SQL Server 始终按照下列顺序查找以 sp_ 开头的存储过程:

  1. master 数据库中查找存储过程。
  2. 根据所提供的任何限定符(数据库名称或所有者)查找该存储过程。
  3. 如果未指定所有者,则使用 dbo 作为所有者查找该存储过程。

因此,虽然当前数据库中可能存在带 sp_ 前缀的用户创建的存储过程,但总会先检查 master 数据库(即使该存储过程已用数据库名称限定)。

 重要  如果用户创建的存储过程与系统存储过程同名,则永远不执行用户创建的存储过程。

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页  

文章录入:enadd    责任编辑:enadd 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • SQL Server 与 Excel

  • SQL Server 2000 XML之七种兵…

  • 如何使用SQL Server 2000全文…

  • 使用SQL Server发送邮件

  • (MS SQL Server)SQL语句导入…

  • SQL INJECTION的SQL SERVER安…

  • 在SQL Server 中使用SQLDMO

  • SQL Server补丁版本的检查和…

  • SQL Server联机丛书:删除存…

  • SQL Server:创建索引视图

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |