• 存储过程命名规则(建议)


     

    在本文中,此示例标准蓝图的存储过程命名方法只适用于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'
  • 相关阅读:
    CentOS 7 如何设置默认启动方式为命令行模式
    Virtual Box配置CentOS7网络
    序列化后成对象转map,再添加到dataList
    centos7 ping: www.baidu.com: Name or service not known
    协议1
    idea查看接口方法实现
    centos关闭防火墙
    myeclipse配置svn
    eas固定ip避免多次申请许可
    jvm配置
  • 原文地址:https://www.cnblogs.com/wzg0319/p/2002258.html
Copyright © 2020-2023  润新知