1、标识符命名规则
当在 PL/SQL 中使用标识符定义变量、常量时,标识符名称必须以字符开始,并且长度不能超过 30 个字符。另外,为了提高程序的可读性,Oracle 建议用户按照以下规则定义各种标识符:
--当定义变量时,建议使用 v_ 作为前缀,例如 v_sal, v_job等。
--当定义常量时,建议使用 c_ 作为前缀,例如 c_rate 。
--当定义游标时,建议使用 _cursor 作为后缀,例如 emp_cursor 。
--当定义例外时,建议使用 e_ 作为前缀,例如 e_integrity_error。
--当定义 PL/SQL 表类型时,建议使用 _table_type 作为后缀,例如 sal_table_type。
--当定义 PL/SQL 表变量时,建议使用 _table 作为后缀,例如 sal_table。
--当定义 PL/SQL 记录类型时,建议使用 _record_type 作为后缀,例如 emp_record_type。
--当定义 PL/SQL 记录变量时,建议使用 _record 作为后缀,例如 emp_record。

2、大小写规则
当在 PL/SQL 块中编写 SQL 语句和 PL/SQL 语句时,语句既可以使用大写格式,也可以使用小写格式。但是,为了提高程序的可读性和性能,Oracle 建议用户按照以下大小写规则编码:
--SQL 关键字采用大写格式,例如 SELECT, UPDATE, SET, WHERE等。
--PL/SQL 关键字采用大写格式,例如 DECLARE, BEGIN, END等。
--数据类型采用大写格式,例如 INT, VARCHAR2,DATE等。
--标识符和参数采用小写格式,例如 v_sal, c_rate等。
--数据库对象和列采用小写格式,例如 emp, sal, ename等。

3、代码缩进
类似于其他编程语言,当编写 PL/SQL 块时,为了提高程序可读性,同级代码应该对其,而下一级代码则应该缩进。

4、嵌套块和变量范围
嵌套块是指嵌入在一个 PL/SQL 块中的另一个 PL/SQL 块。其中被嵌入的块称为字块,而包含子块的 PL/SQL 块则被称为主块。当使用嵌套块时,注意,子块可以引用主块所定义的任何标识符,但主块却不能引用子块的任何标识符。也就是说,子块定义的标识符是局部标识符(局部变量),而主块定义的标识符是全局标识符(全局变量)。

...
  x BINARY_INTEGER;
BEGIN
  ...
  DECLARE
    y NUMBER;
  BEGIN
    ...
  END;
  ...
END;

x 为全局变量,y 为局部变量。

5、在 PL/SQL 块中可以使用的 SQL 函数
当编写 PL/SQL 代码时,可以直接应用大多数的单行 SQL 函数。这些 SQL 函数 包括单行数字函数(例如 ROUND)、单行字符函数(例如 UPPER)、转换函数(例如 TO_CHAR)以及各种日期函数(例如 MONTH_BETWEEN)。但是,用户需注意,某些 SQL 函数只能在 SQL 语句中引用,而不能直接在 PL/SQL 语句中引用,这些 SQL 函数包括 GREATEST, LEAST, DECODE以及所有分组函数(例如 SUM)。

PL/SQL 01 代码编写规则的更多相关文章

  1. JAVA_SE基础——编码规范&代码编写规则

    这次我来给大家说明下编码规范&代码编写规则  ↓ 编码规范可以帮助程序员在编程时注意一些细节问题,提高程序的可读性,让程序员能够尽快地理解新的代码,并帮助大家编写出规范的利于维护的Java代码 ...

  2. 这些HTML、CSS知识点,面试和平时开发都需要 No10-No11(知识点:表格操作、代码编写规则)

    系列知识点汇总 1.基础篇 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5- ...

  3. Oracle PL/SQL实战代码下载

    最近在学习PL/SQL编程,算是一个进阶吧,书没带光盘,所以按照书中的地址去下载样例,无法下载,到图灵官网找到了源代码下载地址,无法下载的留邮箱,我发给大家 下载地址: http://www.itur ...

  4. PL/SQL题型代码示例

    1.记录类型(注意标点符号的使用) 结果: 2.学习流程 3. 4. 5. 6. 写法二: 结果: 写法三: 7.使用循环语句打印1-100 方法一: 或者 方法二: 方法三: 8. 方法二: 9. ...

  5. PL/SQL块与表达式

    一.块(Block) 是PL/SQL的基本执行单元,由定义部分,执行部分(必须)和例外处理部分组成. Declare /*定义部分――定义常量.变量.游标.例外.复杂数据类型*/ Begin /*执行 ...

  6. Oracle数据库之开发PL/SQL子程序和包

    Oracle数据库之开发PL/SQL子程序和包   PL/SQL块分为匿名块与命名块,命名块又包含子程序.包和触发器. 过程和函数统称为PL/SQL子程序,我们可以将商业逻辑.企业规则写成过程或函数保 ...

  7. 二十、oracle pl/sql基础

    一.pl/sql developer开发工具pl/sql developer是用于开发pl/sql块的集成开发环境(ide),它是一个独立的产品,而不是oracle的一个附带品. 二.pl/sql介绍 ...

  8. pl/sql的介绍

    为什么需要pl/sql编程? 因为使用纯的sql语句来操作数据库,有先天性的技术缺陷: 1.不能模块编程: 2.执行速度慢: 3.安全性有问题: 4.浪费带宽. pl/sql是什么? pl/sql(p ...

  9. oracle PL/SQL的介绍

    转自:http://blog.sina.com.cn/s/blog_4c302f060101i4o1.html 一 PL/SQL的介绍 1 PL/SQL是什么? PL/SQL(procedural l ...

随机推荐

  1. LeetCode 74——搜索二维矩阵

    1. 题目 2. 解答 若矩阵为空,比如 [], [[]],此时直接返回 false. 若目标值小于矩阵第一个元素或者大于矩阵最后一个元素,则目标值不在矩阵范围内,直接返回 false. 其他情况下, ...

  2. 配置cas可外网访问

    把应用程序tomcat下的conf下的context.xml里配置内容修改 如把: D:\apache-tomcat-APP\conf\context.xml <Resource name=&q ...

  3. webstorm-前端javascript开发神器中文教程和技巧分享(转)

    webstorm是一款前端javascript开发编辑的神器,此文介绍webstorm的中文教程和技巧分享. webstorm8.0.3中文汉化版下载: 百度网盘下载:http://pan.baidu ...

  4. 【python爬虫】对喜马拉雅上一个专辑的音频进行爬取并保存到本地

    >>>内容基本框架: 1.爬虫目的 2.爬取过程 3.代码实现 4.爬取结果  >>>实验环境: python3.6版本,pycharm,电脑可上网. [一 爬虫目 ...

  5. Java面试题(下)

    这部分主要是开源Java EE框架方面的内容,包括hibernate.MyBatis.spring.Spring MVC等,由于Struts 2已经是明日黄花,在这里就不讨论Struts 2的面试题, ...

  6. WCF身份验证二:基于消息安全模式的自定义身份验证

    使用X509证书进行身份验证应该说是WCF安全模型中最”正常”的做法, 因为WCF强制要求使用证书加密身份数据, 离开了证书, 所有的身份验证机制拒绝工作, WCF支持的身份验证机制也相当复杂, 这里 ...

  7. C# + ArcEngine 常用方法(不定时更新)

    1.Arcengine调用GP服务,抛出异常方法 object sev = null; try { Application.DoEvents(); gp.Execute(gpBuildPyramids ...

  8. 一道js的前端面试题,主要弄清楚逗号表达式的作用

    群里看到的一道前端JS面试题.我以为我会,其实我错了.找了很多资料,写下来. var i,j,k; for( i = 0 , j = 0; i < 10 , j < 6; i++ , j+ ...

  9. BZOJ4444 SCOI2015国旗计划(贪心+倍增)

    链上问题是一个经典的贪心.于是考虑破环成链,将链倍长.求出每个线段右边能作为后继的最远线段,然后倍增即可. #include<iostream> #include<cstdio> ...

  10. linux管理(二)---网络使用情况的监控

    我们经常在监控服务器或者排查程序性能瓶颈时需要知道  网络带宽的使用情况,看看带宽是不是瓶颈. linux系统中监控网络的工具和命令很多. 但其实主要分2种,一种是实时监控带宽情况(速度如何),一种是 ...