TSQL 书写格式的Standard

From http://www.simple-talk.com/sql/t-sql-programming/transact-sql-formatting-standards-(coding-styles)/

1.大写

把关键字和用户定义的对象(比如表,列,变量)区别,比如把关键字大写,而把用户定义的对象Camel Case(首字母大写)。

IF OBJECT_ID(‘ProductDocs’, ‘U’) IS NOT NULL

DROP TABLE ProductDocs

GO

CREATE TABLE ProductDocs

(

  DocID INT NOT NULL IDENTITY,

  DocTitle NVARCHAR(50) NOT NULL,

  DocFileName NVARCHAR(400) NOT NULL,

  CONSTRAINT PK_ProductDocs_DocID PRIMARY KEY CLUSTERED (DocID ASC)

)
GO

2.对象引用

对于Select,尽量用Column Name,避免*,Table Name尽量用Database and Scheme 表示。

SELECT DocID, DocTitle

FROM AdventureWorks.dbo.ProductDocs

ORDER BY DocTitle DESC

3.Alias

Table Alias可用可不用,如果要用的话,尽量用Table Name的缩写,而不要用没有意义的Name(比如:a, b,c)

SELECT

   (cnt.FirstName + ' ' + cnt.LastName) FullName,

   emp.LoginID, emp.Title

FROM HumanResources.Employee emp

   INNER JOIN Person.Contact cnt

   ON emp.ContactID = cnt.ContactID

ORDER BY cnt.LastName

4.逗号的使用

对于Select Column Name,应该把每一个Column+','作为单独的一行。

对于Order By,把所有的Column+','作为整个一行。

SELECT FirstName,

   MiddleName,

   LastName,

   City,

   StateProvinceName

FROM HumanResources.vEmployee

WHERE JobTitle LIKE ‘Production Technician%’

ORDER BY StateProvinceName, City

5.空格对齐

每一个语句作为单独的一行,如果有子句的话,用TAB分隔。

SELECT FirstName, MiddleName, LastName, City, StateProvinceName

FROM HumanResources.vEmployee

WHERE JobTitle LIKE 'Production Technician%'

ORDER BY StateProvinceName, City

6.代码块

(,),子查询作为单独的一行,用TAB分隔。

IF OBJECT_ID(‘ProductDocs’, ‘U’) IS NOT NULL

DROP TABLE ProductDocs

GO

CREATE TABLE ProductDocs

(

   DocID int NOT NULL IDENTITY,

   DocTitle nvarchar(50) NOT NULL,

   DocFileName nvarchar(400) NOT NULL,

   CONSTRAINT PK_ProductDocs_DocID PRIMARY KEY CLUSTERED (DocID ASC)

)

GO

7.注释

Before/After Code用/* */,Within Code用--注释。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值