`
shirlly
  • 浏览: 1647931 次
  • 性别: Icon_minigender_2
  • 来自: 福州
社区版块
存档分类
最新评论

SQL Server存储过程的命名标准

阅读更多

在本文中,此示例标准蓝图的存储过程命名方法只适用于SQL内部,假如你正在创建一个新的存储过程,或是发现一个没有按照这个标准构造的存储过程,即可以参考使用这个标准。


注释:假如存储过程以sp_ 为前缀开始命名那么会运行的稍微的缓慢,这是因为SQL Server将首先查找系统存储过程,所以我们决不推荐使用sp_作为前缀。

存储过程的命名有这个的语法:


[proc] [MainTableName] By [FieldName(optional)] [Action]

[ 1  ]  [ 2 ]      [ 3 ]  [ 4 ]


(1) 所有的存储过程必须有前缀'proc'. 所有的系统存储过程都有前缀"sp_", 推荐不使用这样的前缀因为会稍微的减慢。


(2) 表名就是存储过程访问的对象。


(3) 可选字段名就是条件子句。 例如:


procClientByCoNameSelect, procClientByClientIDSelect



(4) 最后的行为动词就是存储过程要执行的任务。


如果存储过程返回一条记录那么后缀是:Select


如果存储过程插入数据那么后缀是:Insert


如果存储过程更新数据那么后缀是:Update


如果存储过程有插入和更新那么后缀是:Save


如果存储过程删除数据那么后缀是:Delete


如果存储过程更新表中的数据 (ie. drop and create) 那么后缀是:Create


如果存储过程返回输出参数或0,那么后缀是:Output

例子:

一个仅仅返回一个输出参数的存储过程:


ALTER PROCEDURE procClientRateOutput
         @pstrClientID VARCHAR(6) = 'CABLE',
         @pstrCategoryID VARCHAR(6) = '<All>',
         @pstrEmpID VARCHAR(6)='AC',
         @pdteDate datetime = '1996/1/1',
         @curRate MONEY OUTPUT

AS

-- Description: Get the $Rate for this client and this employee
--         and this category from Table ClientRate

SET @curRate = (
                SELECT TOP 1 Rate
                FROM ClientRate
                WHERE ClientID=@pstrClientID
                AND EmpID=@pstrEmpID
                AND CategoryID=@pstrCategoryID
                AND DateEnd > @pdteDate
                ORDER BY DateEnd
               )

IF @curRate IS NULL

         SET @curRate =
(
                SELECT TOP 1 Rate
                FROM ClientRate
                WHERE ClientID=@pstrClientID
                AND EmpID=@pstrEmpID
                AND CategoryID='<ALL>'
                AND DateEnd > @pdteDate
                ORDER BY DateEnd
               )

RETURN


从前的写法:


  Select 'procGetRate' or 'sp_GetRate'
  Insert 'procEmailMergeAdd'


目前的写法:


  'procClientRateSelect'
  'procEmailMergeInsert'


(责任编辑:卢兆林)

分享到:
评论

相关推荐

    掌握SQL Server存储过程的命名标准

    下面将详细阐述SQL Server存储过程的命名规则及其重要性。 1. **前缀**: 存储过程名称应以`proc`作为统一的前缀,以区分系统存储过程(通常以`sp_`开头)。避免使用`sp_`前缀,因为这可能导致查询解析器在寻找...

    SQLSERVER存储过程例子

    以下是针对"SQLSERVER存储过程例子"的详细解释。 1. **存储过程的概念**: 存储过程是一组为了完成特定功能的SQL语句,这些语句被组合在一起并保存在数据库中,用户可以通过调用存储过程的名字来执行这些语句。...

    oracle到sqlserver存储过程语法转换

    ### Oracle到SQL Server存储过程语法转换详解 在数据库迁移项目中,从Oracle迁移到SQL Server是一种常见的场景。本文旨在提供一份详细的指南,帮助开发者更好地理解这两种数据库系统在存储过程方面的语法差异,并...

    C#创建SQL Server存储过程帮助

    【C#创建SQL Server存储过程】在SQL Server 2005中,开发人员不再局限于使用T-SQL来创建存储过程、函数和触发器。得益于SQL Server 2005对.NET Common Language Runtime (CLR)的支持,我们可以使用C#、VB.NET等.NET...

    SQLSERVER数据库命名规范

    SQL Server 数据库命名规范 SQL Server 数据库命名规范旨在提高数据库的可读性和易维护性,统一各个开发人员的数据库编码风格。为了便于与 C# 代码进行对接,制定了本规范。 数据库命名 数据库命名规则旨在提供一...

    (完整版)SQLServer存储过程的基本概念以及语法汇总.docx

    SQL Server 存储过程的基本概念和语法汇总 存储过程是 SQL Server 中的一种重要概念,它可以将一些固定的操作集中起来由 SQL Server 数据库服务器来完成,以实现某个任务。存储过程是 SQL 语句和可选控制流语句的预...

    熟悉SQL Server存储过程.txt

    ### SQL Server 存储过程详解 ...通过以上介绍和示例,我们了解了SQL Server存储过程的基本概念、优势以及如何创建和调用存储过程。合理使用存储过程可以极大地提高数据库应用程序的性能和可维护性。

    SQL_Server_存储过程_-_hoojo_-_博客园

    根据提供的文件信息,以下是对SQL Server存储过程的相关知识点的详细阐述: ### 存储过程的概念 存储过程(Procedure)是一种预先定义并经过编译的SQL语句集合,它存储于数据库之中,用户可以通过指定存储过程的...

    SQL Server CLR 存储过程实现数据的ZIP压缩和解压

    SQL Server提供了一种称为Common Language Runtime (CLR) 的功能,它允许使用.NET Framework的语言(如C#或VB.NET)编写存储过程、函数、触发器等数据库对象。在本篇文章中,我们将深入探讨如何利用SQL Server CLR...

    SQL Server调用Webservice示例

    - 创建一个SQL Server存储过程,调用.NET方法。 在示例中,"SQL项目调用Webservice示例"可能包含了一个完整的.NET存储过程示例,用于演示如何构建和调用Web Service。可能的结构包括: - 存储过程源代码,展示...

    SQL Server数据库存储过程介绍及用法(参数等.....)

    ### SQL Server数据库存储过程及其参数详解 #### 一、存储过程概述 存储过程,作为SQL Server数据库中的子程序,是一种预先编写并存储于数据库内的SQL脚本集合,它能够接收和返回参数,执行复杂的数据库操作。存储...

    SQL Server数据库实验指导书 实验教程 数据库实验07 存储过程和触发器.pdf

    2.利用SQL Server配置管理器启动、停止SQL Server服务(包括默认实例和命名实例),配置SQL Server服务为自动启动。 3.利用SQL Server配置管理器配置进行SQL Server 2005网络配置,启用默认实例和命名实例的TCP/IP...

    解密SQL Server2000存储过程(可以选择存储过程查询)

    存储过程是SQL Server 2000中的一个核心特性,是预编译的SQL语句集合,可以理解为数据库中的可执行程序。它们允许开发人员封装复杂的业务逻辑,提高代码复用性,降低网络流量,并提供一定程度的安全性。 1. **存储...

    SQLServer2000高级编程技术-已添加书签,想学存储过程、SQL编程务必要看,分析非常透彻

    10.1.3 使用sp_executesql存储过程 10.2 使用时间戳的乐观锁 10.2.1 时间戳 10.2.2 TSEQUAL函数 10.2.3 时间戳转换 10.3 全文搜索和索引 10.4 嵌套的存储过程 10.4.1 使用临时表来传递一个记录集给一个嵌套的存储...

    SQL Server 系统存储过程全局变量

    ### SQL Server系统存储过程全局变量解析 在SQL Server中,全局变量是一类特殊的变量,它们由系统维护,用于存储和返回关于SQL Server运行时状态的信息。这些变量无需声明即可使用,且其值不能被用户直接修改。全局...

    SQLserver定时备份存储过程

    - 在执行任何备份任务之前,必须确保`SQLServerAgent`服务已经启动,否则定时任务将无法执行。 - 需要注意的是,在实际部署中,应考虑备份文件的存放位置、备份文件的命名规则以及备份策略等因素。 - 调度规则中的`@...

    Microsoft SQL Server 2005技术内幕:存储引擎(中文).pdf

    您将跟随一位广受欢迎的作家同时也是SQL Server资深专家一起深入探索SQL Server存储引擎的技术内幕。  本书适合于专业数据库开发者、BI开发者、DBA和以SQL Server作为后台数据库的一般应用程序开发者。本书不仅适合...

    SQL Server 行专列存储过程

    根据提供的标题、描述、标签及部分内容,我们可以了解到这段代码涉及的是一个名为 `up_get_activity_list` 的 SQL Server 存储过程。此存储过程的主要目的是处理数据列表并将其转化为列显示,同时还可以执行某些运算...

    SQL Server数据库实验指导书 实验教程 数据库实验06 存储过程.pdf

    2.利用SQL Server配置管理器启动、停止SQL Server服务(包括默认实例和命名实例),配置SQL Server服务为自动启动。 3.利用SQL Server配置管理器配置进行SQL Server 2005网络配置,启用默认实例和命名实例的TCP/IP...

Global site tag (gtag.js) - Google Analytics