Oracle 编码规范

编码规范的意义:代码美观,易于阅读理解/降低维护成本/降低出错概率/提升代码执行效率
感触:简单才是美

命名

对象命名=对象前缀+模块名+对象标识 v_act_custinfo

对象类型对象前缀格式
临时表 temporary tablet
视图 viewvv_表名
序列 sequencess_表名
索引 indexidxidx_表名_每列首字母
主键 primary keypkpk_表名
过程 procedurep
函数functionf

变量命名
通常由变量前缀+变量标识组成

变量类型前缀示例
局部变量vv_begin_date
输入输出参数pp_oc_date

常用英文简写(原则上简写应不产生歧义)

全写简写
informationinfo
customercust
descriptiondesc
destinationdest
sourcesrc
configcfg
organizationorg
controlctrl
departmentdept
employeeemp
businessbiz


通常不应使用数字/特殊字符来定义标识符
避免使用数据库关键字&保留字 如: count
长度<=30个字符

书写

缩进

  • 缩进2空格,同一条语句中每个关键字单独成行,右对齐

换行

  1. 段语句单独成行
  2. 程序块之间用一个空行隔开
  3. 较长语句适当换行
  4. 在低优先级操作符处,操作符放在行首,并适当缩进
  5. 关键字独立成行:DECLARE、AS、RETURN、BEGIN、END、EXCEPTION

书写

  1. 除字符串外,统一使用小写字符书写
  2. 操作符前后应以空格分隔,间隔符之后应以空格分隔
  3. insert语句中,select中的字段应与insert中的字段在位置上——对应

注释

  1. 脚本文件、函数、过程头部应加注释
  2. 注释内容包括:创建者、创建日期、功能描述、修改记录等
  3. 注释应紧靠其描述的代码,在代码的上方或者右方
  4. 注释与所描述的代码进行同样的缩进
  5. 通过对函数、过程、变量等进行合理命名,使其成为自注释的

语法

  1. 使用SQL99语法标准,连接条件写在on里,过滤条件写在where里
  2. 不允许使用select *,将需要的字段一一列出
  3. insert语句中必须列出要插入的字段名
  4. 当sql中涉及多个表时,字段名应+前缀表名/表别名,别名不要重复
  5. 尽量使用静态sql,少用动态sql
  6. 使用通用语法和函数. 如用case代替decode(Oracle特有函数,放到MySQL里就不会识别)
  7. 不使用goto(跳跃性)语句来控制流程
  8. 少用游标(代码效率差)

优化

  1. where中应避免隐式转换,避免对索引列使用丞数
  2. 表的更新操作用merge代替update
  3. 避免函数频繁执行
  4. 尽量避免使用or操作符
  5. 动态sql应使用绑定变量
  6. 判断存在性时,要加上rownum=1
  7. 变量赋值尽量用:=,比select into快
  8. 避免不必要的排序,如可以用union all时就不要用union
  9. 不要随意commit,应保证事务完整性
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kukukukiki192

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值