Transact-SQL编程规范.doc

上传人:jian****018 文档编号:9128343 上传时间:2020-04-03 格式:DOC 页数:10 大小:55.50KB
返回 下载 相关 举报
Transact-SQL编程规范.doc_第1页
第1页 / 共10页
Transact-SQL编程规范.doc_第2页
第2页 / 共10页
Transact-SQL编程规范.doc_第3页
第3页 / 共10页
点击查看更多>>
资源描述
Transact-SQL编程规范文 档 信 息文档名称:Transact-SQL编程规范电子文档:版本号:1.00密级:公开文档编号:编写人:江剑平日期:2013-9-11校对人:日期:审核人:日期:批准人:日期:更 改 记 录更改序号更改原因更改页码更改前版本号更改后版本号更改人生效日期备 注1 概述1.1 规范制定原则1、 方便代码的交流和维护。2、 不影响编码的效率,不与大众习惯冲突。3、 使代码更美观、阅读更方便。4、 使代码的逻辑更清晰、更易于理解。1.2 相关原则1.2.1 大小写大写所有的 T-SQL 关键字,包括 T-SQL 函数。变量名称及游标名称使用大驼峰样式。数据类型定义使用全部小写。示例:DECLARE LastName nvarchar(32);1.2.2 使用“;”使用“;”作为 Transact-SQL 语句终止符。虽然分号不是必需的,但使用它是一种好的习惯。1.2.3 存储格式尽量采用Unicode数据存储格式,提高可移植性和兼容性,实际应用中使用nchar、nvarchar、ntext代替char、varchar、text。1.2.4 默认值在建立数据表时,尽量使用默认值代替NULL值。比如设置CreatedDate列默认值为GETDATE()。在可避免的情况下设置字段为不允许空。1.2.5 使用“”在 T-SQL 代码中为字符常量使用单引号,避免使用双引号。1.2.6 数值比较不要将空的变量值直接与比较运算符(符号)比较。如果变量可能为空,应使用 IS NULL 或 IS NOT NULL 进行比较,或者使用 ISNULL 函数。1.2.7 表名别名表名别名要简短,但意义要尽量明确。通常使用大写的表名作为别名,使用 AS 关键字指定表或字段的别名。1.2.8 禁止使用“*”禁止在任何代码中使用 “SELECT *”。1.2.9 排序决不要依赖 SELECT 语句会按任何特定顺序返回行,除非在 ORDER BY 子句中指定了顺序。通常,应将 ORDER BY 子句与 SELECT 语句一起使用。可预知的顺序(即使不是最方便的)比不可预知的顺序强,尤其是在开发或调试过程中。在返回行的顺序无关紧要的情况下,可以忽略 ORDER BY 的开销。1.2.10 BEGIN.END 块的在SQL代码快中尽量使用BEGIN.END 语句块,提高代码可阅读性。1.2.11 TRY块在SQL Server 2005中增加TRY块,Transact-SQL 语句组可以包含在 TRY 块中。如果 TRY 块内部发生错误,则会将控制传递给 CATCH 块中包含的另一个语句组。示例:BEGIN TRY SQL 语句组1END TRYBEGIN CATCH SQL 语句组2END CATCH;1.2.12 TOP子句在SQL Server 2005中加强了TOP的使用,尽量使用TOP(变量)来减少SQL拼串的使用。1.3 相关注释1.3.1 小驼峰法小驼峰法的意思是:除第一个单词之外,其他单词的首字母大写。譬如要获取学生总人数可以如下命名规则:getStudentCount,第一个单词是全部小写,后面的单词首字母大写。 1.3.2大驼峰法相比小驼峰法,大驼峰法把第一个单词的首字母也大写了。譬如同样是获取学生总人数可以采取如下命名规则: GetStudentCount。2 命名规范2.1 对象命名2.1.1 数据库采用大驼峰命名,命名格式为【项目英文名称】+【版本号】。示例:JOBBMSV1.0.1.72.1.2 数据表采用大驼峰命名,命名格式为【表名】。示例:Product表名以英文单数命名,个人建议不采用复数是为了更好的使用ORM工具生成符合编程规范的代码(比如C#)。示例:使用Product而不是Products2.1.3 数据列列名称命名采用英文单词或缩写,英文单词只来自于具体业务定义,尽量表达清楚含义。采用大驼峰命名,命名格式为【列名称】。示例:AddressID PostalCode尽量避免使用拼音命名,如果不可避免,对于比较短的列名,采用拼音全写,如果拼音列名比较复杂,可以采用首个字用全拼,其它字用首字母大写表示。示例:宁波 Ningbo 经营方式 JingYFS2.1.4 数据视图建议采用大驼峰命名,命名格式为V +【视图名称】。示例:VEmployee VSalesPerson2.1.5 存储过程建议采用大驼峰命名,命名格式为P _【存储过程名称】。示例:P_GetUser P_AddUser2.1.6 自定义函数自定义函数采用大驼峰命名,命名格式为F_【函数名】。 示例:F_GetAllUser F_GetAllStudent2.1.7 主键、外键关系主键: PK_【表名称】_【主键】;如果是组合主键,使用PK_【表名】_【主键1】_【主键2】。示例:PK_Store_CustomerID PK_StoreContact_CustomerID_ContactID2.1.8 索引 1、 聚集索引:PK_表名称_主键;如果是组合主键,使用PK_表名_主键1_主键2。示例:PK_Store_CustomerID PK_StoreContact_CustomerID_ContactID2、 唯一非聚集索引:AK_表名称_列名称。示例:AK_Store_rowguid3、 不唯一非聚集索引:PK_表名称_列名称。示例:IX_Store_SalesPersonID4、 主 XML索引:PXML_表名称_Xml类型列名称。示例:PXML_Store_Demographics备注:以上命名参考Sql Server 2005示例数据库,一般只需设计器自动生成,不需要额外修改。2.1.9 DML触发器DML 触发器是当数据库服务器中发生数据操作语言 (DML) 事件时要执行的操作。DML 事件包括对表或视图发出的 UPDATE、INSERT 或 DELETE 语句。根据事件不同命名规则使用前缀进行区分,格式为 TRI_U|I|D_表名|视图名示例:TRI_U_Employee 另外一种方式为,AFTER 触发器:TRI_表名_后面插入加I,修改加U,删除加D。INSTEAD OF 触发器: TRI_表名或视图名_OF后面插入加I,修改加U,删除加D2.1.10 DDL触发器响应各种数据定义语言 (DDL) 事件而激发。这些事件主要与以关键字 CREATE、ALTER 和 DROP 开头的 Transact-SQL 语句对应。执行 DDL 式操作的系统存储过程也可以激发 DDL 触发器。采用大驼峰命名,命名单词能够描述DDL触发器功能。示例:CREATE TRIGGER SafeTy ON DATABASE FOR DROP_TABLE, ALTER_TABLE AS PRINT You must disable Trigger safety to drop or alter tables! ROLLBACK ;2.2 参数命名2.2.1 数据列参数命名格式为 + 【列名称】。示例:EmployeeID2.2.2 非数据列参数在参数无法跟列名称进行关联时,使用能够反映该参数功能的英文单词或单词组合, 采用大驼峰命名。示例:ErrorID Flag3 注释规范3.1 代码头部注释在SQL代码块(sql文件或存储过程)的头部进行注释,标注创建人(Author)、创始日期(Create date)、描述(Description)、修改信息(Modify n)。格式:- =- Author: - Create date: - Description: - Modify n: - =示例:- =- Author:JpJiang- Create date: 2013-9-11- Description: H2000报关单回执处理- Modify 1: JpJiang, 2013-9-11,简化逻辑判断流程- Modify 2: JpJiang, 2013-9-11,更新条件判断- =注:日期格式使用 yyyy-MM-dd。Modify n n代表修改序号,从1开始,每次修改加1。3.2 事物注释建议在每个事务的开头进行注释,说明该事务的功能。- BEGIN TRANSACTION;3.3 游标注释建议在每个游标的开头进行注释,说明该游标的功能。- declare 【游标名称】 scroll cursor for select 字段名1、字段n from 【表名】for read only4 代码风格4.1 语句缩进一个嵌套代码块中的语句使用四个空格的缩进。使用Microsoft SQL Server Management Studio ,选择“工具”菜单,打开“选项”菜单,在选项对话框中选择文本编辑器-纯文本-制表符,选中“插入空格单选框”,设置“制表符大小”为4,缩进大小为“4”。4.2 语句换行建议SQL代码每行以关键字或“,”开头。示例:SELECT ShiftID ,Name ,StartTime ,EndTime ,ModifiedDateFROM AdventureWorks.HumanResources.Shift4.3 语句分割使用一个(而不是两个)空行分隔 T-SQL 代码的逻辑块。
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文书 > 方案规范


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!