




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ORACLE开发规范学习引言:n 作为Oracle数据库程序开发的指导,规范是必须要学习和遵循的,是要求。n 这个培训主要内容:Oracle数据库的一些概念,开发时要注意的规范项。常用数据库对象介绍:【表(TABLE)】1. 表名要反映表的功能;表名使用大写,表名的关键词之间用下划线隔开;表名格式为:应用名_功能缩写_表义名,例如:MSC_USER(用户表),MSC_BRANCH(机构表),CBMS_CCRMACCNT_TMP(临时表),CBMS_KXHREPORT_IMP(接口导入表)。表名设计长度不超过2. 列名定义方法与表名相同,全部使用大写,关键词之间用下划线隔开。列名的定义要反映该列的功能,总长度不能超过20;例:AVG_INCOME3. 列数据类型和长度需要根据实际数据合理定义,中心也有部分规范来明确字段类型定义,例如地区号、网点号字段统一规范为NUMBER(5);4. 在数据表的创建脚本中加上表和列的注释;例:5. 表名和列名的不允许使用无意义的字符,要求使用关键字的英文单词缩写;6. 表中主键与索引的命名规则和使用规范:1).主键的命名规则为:PK_表名,关键词之间用下划线隔开,如下图:2).索引的命名规则为:IDX+序号_表名,关键词之间用下划线隔开,如下图: 普通表主键和索引默认表空间为应用名_INDEX,如:MSC_INDEX,PBMS_INDEX;分区表可以选择使用分区主机索引管理,无需指定具体表空间; 3).正确的使用索引是提高系统执行效率的关键因素,在单表中建立过多的索引,也会造成维护索引所需要的时间超过使用索引所降低的时间,从而造成整个系统效率的下降,所以开发人员需要合理的使用索引;【过程(PROCEDURE)、函数(FUNCTION)、包(PACKAGE)】1. 过程名的组成格式为:PROC_应用缩写_功能名。各项名称全部用大写,功能关键字之间用下划现连接。如:PROC_CBMS_FILE_DELTE () 2. 函数名的组成格式为:FUNC_应用缩写_功能名。各项名称全部用大写,功能关键字之间用下划现连接。如:FUNC_CBMS_FAPROD_GETCHECKFLAG () 3. 包名的组成格式为PCKG_应用缩写_功能名。各项名称全部用大写,功能关键字之间用下划现连接。如:PCKG_CBMS_BATCH_CLN 4. 目前开发中心对过程、函数的使用都是使用包的形式进行组织管理的:a) 一个功能需要由多个相关过程和函数组合完成。b) 需要定义一种类型,这种类型要在过程的参数中用到。c) 输出结果是多结果集,结果集需要预先定义。5. 过程、函数的输入输出参数格式为:输入:IN_参数名,参数名全部使用大写。如:IN_AREACODE输出:OUT_参数名,参数名全部使用大写。如:OUT_RESULT输入输出:IO_参数名,参数名全部使用大写。如:IO_REFERENCE6. 变量的声明和使用:变量:由v_+变量名组成,参数名使用小写。如:v_tempstate。1)使用%TYPE声明变量类型声明时,如果其含义和应用表某字段含义或某变量相同时,使用%TYPE声明。如:credit REAL(7,2);debit credit%TYPE;my_dname scott.dept.dname%TYPE;2) 使用%ROWTYPE声明记录类型声明时,如果其含义和某应用表行数据或某cursor定义相同时,使用%ROWTYPE声明,如:DECLARE r_emp emp%ROWTYPE; CURSOR c1 IS SELECT deptno, dname, loc FROM dept; r_dept c1%ROWTYPE;7. PL/SQL书写规范:1).注释应简洁,易懂,以中文为主。为了表达准确,名词或操作上也可以用英文。在每个存储过程、函数、包需要加入注释,其中内容包括:本程序的简要功能描述、编写者、编写日期,而且各存储过程的开头注释应保持统一格式如下:2).输入输出参数和变量的旁边添加注释,注明此变量的意义,每个块或大分支的开始添加注释,描述块的简要功能,若使用算法,简单描述算法目的和结果;3).尽管PL/SQL语言不区分标识符的大小写,但为了增加代码的可读性,对大小写风格要求如下:除了变量名,一律使用大写;4). 代码每行至多包含一条语句,注意各行的缩进要规范,保持代码的整洁和易读性;【游标(CURSOR)】为了处理SQL语句,Oracle必须分配一片内存区域,用来存储完成该处理所必需的信息,这就是上下文区域(CONTEXT AREA)。游标(CURSOR)就是一个指向上下文区域的句柄(handle)或指针。必须首先通过游标定位某个位置,然后才能处理该位置的内容;1. 常用游标:显示游标 与隐式游标 显式游标 用来处理返回多于一行的select语句。显式游标可以由用户自定义,并通过open,fetch,close步骤来调用。隐式游标 用于处理insert,update,delete和单行selectinto语句。隐式游标是系统自定义的,通过PL/SQL引擎打开和关闭,因此,隐式游标不需要用户open,fetch,close。2. 游标变量动态地指向sql语句。它类似于pl/sql变量,在运行时刻可以拥有不同的取值,因此可以实现在运行时刻与不同的语句相关联。游标属性附加在游标名字的后面,但游标属性返回的不是类型,它返回的是在表达式中可以使用的数值。游标属性分以下四种:%FOUND:这是一个布尔属性。如果前一个fetch语句返回一个行,那么它就会返回true,否则,返回false。%NOTFOUND:这是一个布尔属性,如果前一个FETCH语句返回一个行,返回FALSE。仅当前一个FETCH语句没有返回任何行,才返回TRUE。%ISOPEN:这是一个布尔属性,用来确定相关的游标是否被打开。如果已打开,返回TRUE,否则,返回FALSE。%ROWCOUNT:这是个数字属性,它返回到目前位置,由游标返回的行的数目。【PL/SQL代码检查规范】1. 显示游标使用OPEN后需要CLOSE,联机查询返回结果集使用隐式游标较好;2. 使用count(*)判断是否存在记录需要在sql语句之后加上ROWNUM=1;3. SELECT、INSERT、 UPDATE语句中需明确字段,不允许出现SELECT *;4. FROM 子句中有两个以上表,字段名前需要带有表明或别名限定;5. 语句的嵌套层数最多不允许超过5层;6. 程序中不能包含不明的变量初始化语句或赋值语句,不能有不明的数据库更新语句、定时代码、子程序或模块调用,不能写死安全变量的值;7. 变量定义是否存在溢出隐患,例如金额字段,账号等;【SQL开发“铁律”】【补充知识点】1. 公共函数和存储包里的函数调用区别;2. 集合操作符union(union all)、minus、intersect;UNION ,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;UNION ALL,对两个结果集进行交集操作,不包括重复行,不进行排序;MINUS,对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序;INTERSECT,对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;可以在最后一个结果集中指定ORDER BY 子句来改变排序方式;3. 行转列,列转行; TABLE_A(a,b,c,d)select a,b from TABLE_Aunionselect a,c from TABLE_Aunionselect a,d from TABLE_A; TABLE_B(a,b,type) type=1,2,3 select A.a, A.b, B.b, C.b from (select a, b from TABLE_B where type = 1) A, (select a, b from TABLE_B where type = 2) B, (select a, b from TABLE_B where type = 3) C where A.a = B.a and A.a = C.a; oracle纵列变横向展现: SELECT D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电话谈判课件
- 边防船艇知识培训内容课件
- 精准扶贫入户培训
- 村主任培训方案
- 技术运用面试题及答案大全
- 文化旅游资金申请2025年政策导向与应用策略报告
- 工商银行2025景德镇市半结构化面试15问及话术
- 中国银行2025遵义市秋招笔试价值观测评题专练及答案
- 工商银行2025临沂市秋招半结构化面试题库及参考答案
- 2025年3D打印技术的个性化定制应用
- 新课标解读丨《义务教育道德与法治课程标准(2022年版)》解读课件
- 能源管理培训课件
- 江苏省苏州市2024-2025学年高一上学期期末调研英语试题(解析版)
- 体育赛事直播技术服务合同
- 护理礼仪(第3版) 课件 第四章 护士仪态礼仪
- 认识中国特色社会主义文化
- 森林防火林区道路建设基本要求
- 《钢铁行业智能制造标准体系建设指南(2023版)》
- 餐饮外卖智能调度与配送优化方案
- 设计材料与工艺课程 课件 第1章 产品设计材料与工艺概述
- 《SDH学习知识总结》课件
评论
0/150
提交评论