当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 谈SQL编写规范

MSSQL
深入介绍:SQL Server变更管理工具
SQL Server日志文件总结及充满处理方式
sql查询like操作数剖析
Windows 2003不太喜欢SQL Server2000
教您 SQL SERVER 2005 同步复制技术
深入浅出SQL教程之子查询语句
简单谈基于SQL SERVER 分页存储过程的演进
深入浅出SQL教程之SELECT语句中的表连接
安装SQL Server 2000的错误及解决
为增强安全性 SQL Server加密备份
在SQL Server中为安全依从性记录日志
深入浅出SQL系列教程之基本SELECT命令
SQL Sever中有关DATALENGTH的用法
SQL Server数据库性能优化技术
SQL Server基本函数详细介绍
SQL Server中数据仓库的构建与分析
sql2005的xml字段类型在.net中的应用
SQL注入奇致胜 Union查询轻松看电影
SQL Server 2005与DB2 8.2对比分析
SQL Server 连接中四种最常见错误

MSSQL 中的 谈SQL编写规范


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-12-26   浏览: 293 ::
收藏到网摘: n/a

 

1、大小写

大写T-SQL 语言的所有关键字,谓词和系统函数。变量名称及游标名称使用Pascal样式。数据类型定义使用全部小写。

 

2、使用“;

使用“;”作为 Transact-SQL 语句终止符。虽然分号不是必需的,但使用它是一种好的习惯。

 

3、存储格式

尽量采用Unicode数据存储格式,提高可移植性和兼容性,实际应用中尽量使用ncharnvarcharntext代替charvarchartext

 

4 类型选择

如果字符具有明确的长度,使用nchar代替nvarcharchar代替varchar

在只有两个可能数值时,使用bit代替intsmallint

SQL Server 2005中,使用nvarchar(MAX)代替ntextvarchar(MAX)代替textvarbinary(MAX)代替image

在特殊的数据表结构中可考虑xml数据类型,达到事半工倍的效果。

 

5、默认值

在建立数据表时,尽量使用默认值代替NULL值。比如设置CreatedDate列默认值为GETDATE()。在可行的情况下设置字段为不允许空。

 

6、字段长度

始终指定字符数据类型的长度,并确保允许用户可能需要的最大字符数,避免超出最大长度时出现字符丢失现象。对于字符型数据,建议采用2n次方来定义数据长度。

示例:nvarchar(32)

  varchar(64)

 

7 使用“'

T-SQL 代码中为字符常量使用单引号,避免使用双引号。

 

8、语句缩进

一个嵌套代码块中的语句使用四个空格的缩进。使用Microsoft SQL Server Management Studio ,选择“工具”菜单,打开“选项”菜单,在选项对话框中选择文本编辑器->纯文本->制表符,选中“插入空格单选框”,设置“制表符大小”为4,缩进大小为“4”。

 

9、语句换行

建议SQL代码每行以关键字或“'”开头。

 

10   语句分割

使用一个(而不是两个)空行分隔 T-SQL 代码的逻辑块。

 

11   使用“*

尽量避免在任何代码中使用 SELECT *”。

 

12  表名别名

表名别名要简短,但意义要尽量明确。通常使用大写的表名作为别名,使用 AS 关键字指定表或字段的别名。

 

13  类型转换

不要依赖任何隐式的数据类型转换,不要假定 T-SQL 会进行必要的转换。例如,把数字变量赋予字符值。相反,在为变量赋值或比较值之前,应使用适当的 CONVERT 函数使数据类型相匹配。

 

14  数值比较

不要将空的变量值直接与比较运算符(符号)比较。如果变量可能为空,应使用 IS NULL IS NOT NULL 进行比较,或者使用 ISNULL 函数。

 

15   排序

决不要依赖 SELECT 语句会按任何特定顺序返回行,除非在 ORDER BY 子句中指定了顺序。通常,应将 ORDER BY 子句与 SELECT 语句一起使用。可预知的顺序(即使不是最方便的)比不可预知的顺序强,尤其是在开发或调试过程中。在返回行的顺序无关紧要的情况下,可以忽略 ORDER BY ,减少资源开销。

 

16  Unicode字符串

Unicode字符前面使用N前缀,避免引起数据的不一致。

 

17  BEGIN...END

SQL代码快中尽量使用BEGIN...END 语句块,提高代码可阅读性。

 

18   TRY

SQL Server 2005中对一些可能执行失败的语句尽量使用TRY块。Transact-SQL 语句组可以包含在 TRY 块中,如果 TRY 块内部发生错误,则会将控制传递给 CATCH 块中包含的另一个语句组。

 

19   TOP子句

SQL Server 2005中加强了TOP的使用,尽量使用TOP(变量)来减少SQL拼串现象。

 

20  TRANSACTION编写

只要在例程中使用多个数据库修改语句,包括在一个循环中多次执行一个语句,就应考虑声明显式事务。在SQL SERVER 2005 中,增加了TRY块可进行很好的应用。

 

21  存储过程

在编写存储过程时,使用PROCEDURE 代替 PROC 简写。

示例:CREATE PROCEDURE [dbo].[存储过程名字]

总结

最后,希望SQL编写规范这篇文章能够带给大家帮助。更好的应用到数据库开发之中。