没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Teradata
SQL 编写规范
2006 年 4 月
目 录
1 前言...........................................................................................................................................1
1.1 边界定义........................................................................................................................................1
1.2 原则定义........................................................................................................................................1
2 格式编排约定...........................................................................................................................2
2.1 基本要求........................................................................................................................................2
2.2 编写规范........................................................................................................................................2
2.2.1 字段排列要求.......................................................................................................................2
2.2.2 字段分割符’,’点书写位置要求 ...........................................................................................2
2.2.3 字段别名 ‘AS’ 语句编写要求 ...........................................................................................2
2.2.4 SELECT 子句排列要求.......................................................................................................3
2.2.5 运算符前后间隔要求...........................................................................................................3
2.2.6 CASE 语句的编写 ...............................................................................................................3
2.2.7 子查询嵌套编写规范...........................................................................................................4
2.2.8 表别名定义约定...................................................................................................................5
3 语法及数据操作约定...............................................................................................................5
3.1 JOIN 操作语法要求 .....................................................................................................................5
3.2 INSERT 语句编写规范................................................................................................................6
3.3 DELETE 语句编写规范...............................................................................................................7
3.4 NULL 值处理约定........................................................................................................................7
3.4.1 数字型字段 NULL 值的处理 ..............................................................................................7
3.4.2 字符型字段 NULL 值的处理 ..............................................................................................7
3.4.3 提取日期型字段的处理.......................................................................................................7
3.5 除法运算被 0 除的处理................................................................................................................7
3.6 比较逻辑运算处理约定................................................................................................................8
3.6.1 字符型比较的处理...............................................................................................................8
3.6.2 日期型比较的处理...............................................................................................................8
3.7 注释约定........................................................................................................................................8
4 小技巧.......................................................................................................................................9
4.1 历史表的数据访问........................................................................................................................9
4.2 横转竖表开发..............................................................................................................................10
SQL 编写规范
NCR 保密资料
1
1 前言
为了统一软件开发过程中关于 SQL(Structured Query Language)编码的格
式,使编码人员编写 SQL 代码遵从特定的风格,并养成良好的开发习惯,从而增
强代码的可读性,便于交流和维护,特此收集、整理公司已经积累的技术资料,
修订和编制了本编码规范。
本规范适用于已掌握 Teradata 数据仓库系统的基本知识及 Teradata SQL 编
程技能者阅读,对从事 Teradata 数据仓库系统的代码开发、测试、检查人员起
指导的作用,也即对从事 Teradata 数据仓库系统技术工作人员必不可少的阅读
材料。
1.1 边界定义
数据仓库系统的开发更多的是对数据进行加载、整理、抽取的工作,在项目
实施过程中经常要用到对数据进行各种形式操作的开发工作,因此对数据操作的
代码编写进行规范化的约定显的优为重要。
本规范主要用于 NCR Teradata 数据仓库系统的结构化查询语言代码编写的
标准化要求,结合 Teradata 的特点以及代码开发人员在日常编写 SQL 的
DML(Data Manipulation Language)经验,为规范 Teradata 数据仓库系统的 SQL
的 DML 开发建立统一的标准。
规范主要应用于 Teradata SQL 的 DML 以下几个语句编写约定
Select 语句;
Insert 语句;
Delete 语句;
逻辑判断语句;
类型转换语句;
以及相关的 Teradata 函数、
Teradata 数据仓库项目实施过程中数据表现形态约定等内容
在数据仓库系统项目开发中不建议使用UPDATE语句来进行数据的更新
操作,可以采用替代的中间过度表完成表中数据的重新组织,从而实现原表
数据值的更新。
1.2 原则定义
1、要求代码行清晰、整齐,具有一定的可观赏性;
2、代码编写要充分考虑执行速度最优的原则;
3、代码行整体层次分明、结构化强;
4、代码中应有必要的注释以增强代码的可读性;
5、规范要求非强制性约束代码开发人员的代码编写行为,在实际应用中在
不违反常规要求的前提下允许存在可理解的偏差。
本规范在对日常的代码开发工作起到指导作用的同时也将得到不断
SQL 编写规范
NCR 保密资料
2
的完善和补充。
2 格式编排约定
2.1 基本要求
• 代码段中应用到的所有 Teradata 关键字、保留字都应
大
大
写
写 如
SELECT 、FROM、WHERE、AND、OR、UNION、INSERT、DELETE、
GROUP、HAVING、COUNT 等;代码行中的关键字不允许使用简写
的方式(如:SEL、DEL);Teradata V2R5 的所有保留字见
附件Ⅰ;
• 表名、字段名、字段别名以首字大写加下划线连接符来命名,建议使
用规范命名(更完整的命名规则不在本规范中阐述),
•
四
四
个
个
空
空
格
格
为一个缩进量,
所
所
有
有
的
的
缩
缩
进
进
皆
皆
为
为
一
一
个
个
缩
缩
进
进
量
量
的
的
整
整
数
数
位
位。
• 对应的括号通常要求在同一列的位置上;
• 每行宽度不超过
1
1
2
2
0
0
字
字
符
符
(每个字符为 8 个点阵宽),超过行宽的代码
可折行与上行左对齐编排;
2.2 编写规范
2.2.1 字段排列要求
示例
1
:
• SELECT 语句选择的字段按每行一个字段方式编排;
• SELECT 单字后面
一
一
个
个
缩
缩
进
进
量
量后直接跟首个选择的字段,即字段离首
起
二
二
个
个
缩
缩
进
进
量
量
;
• 其它字段前导
二
二
个
个
缩
缩
进
进
量
量
再
再
跟
跟
一
一
’
’
,
,
’
’
点
点后放置字段名;
2.2.2 字段分割符’,’点书写位置要求
• 两个字段之间的’,’点分割符紧跟在第二个字段的前面
2.2.3 字段别名 ‘AS’ 语句编写要求
• ‘AS’语句应与相应的字段在同一行;
• 多个字段的’AS’建议尽量对齐在同一列上;
示例
2
:
剩余20页未读,继续阅读
资源评论
weixin_42940120
- 粉丝: 5
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 点云数据处理与开发基础教程
- (源码)基于 JavaWeb 的超市收银系统.zip
- (源码)基于Vue和Cordova的移动端在线选座购票系统.zip
- (源码)基于C++的simpleDB数据库管理系统.zip
- (源码)基于Arduino的RTOSMMESGU实时操作系统项目.zip
- (源码)基于STM32和TensorFlow Lite框架的微语音识别系统.zip
- (源码)基于C#的支付系统集成SDK.zip
- (源码)基于Spring Cloud和Spring Boot的微服务架构管理系统.zip
- (源码)基于物联网的自动化开门控制系统 iotsaDoorOpener.zip
- (源码)基于ROS的Buddy Robot舞蹈控制系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功