PL/SQL 01 代码编写规则
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 代码编写规则的更多相关文章
- JAVA_SE基础——编码规范&代码编写规则
这次我来给大家说明下编码规范&代码编写规则 ↓ 编码规范可以帮助程序员在编程时注意一些细节问题,提高程序的可读性,让程序员能够尽快地理解新的代码,并帮助大家编写出规范的利于维护的Java代码 ...
- 这些HTML、CSS知识点,面试和平时开发都需要 No10-No11(知识点:表格操作、代码编写规则)
系列知识点汇总 1.基础篇 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5- ...
- Oracle PL/SQL实战代码下载
最近在学习PL/SQL编程,算是一个进阶吧,书没带光盘,所以按照书中的地址去下载样例,无法下载,到图灵官网找到了源代码下载地址,无法下载的留邮箱,我发给大家 下载地址: http://www.itur ...
- PL/SQL题型代码示例
1.记录类型(注意标点符号的使用) 结果: 2.学习流程 3. 4. 5. 6. 写法二: 结果: 写法三: 7.使用循环语句打印1-100 方法一: 或者 方法二: 方法三: 8. 方法二: 9. ...
- PL/SQL块与表达式
一.块(Block) 是PL/SQL的基本执行单元,由定义部分,执行部分(必须)和例外处理部分组成. Declare /*定义部分――定义常量.变量.游标.例外.复杂数据类型*/ Begin /*执行 ...
- Oracle数据库之开发PL/SQL子程序和包
Oracle数据库之开发PL/SQL子程序和包 PL/SQL块分为匿名块与命名块,命名块又包含子程序.包和触发器. 过程和函数统称为PL/SQL子程序,我们可以将商业逻辑.企业规则写成过程或函数保 ...
- 二十、oracle pl/sql基础
一.pl/sql developer开发工具pl/sql developer是用于开发pl/sql块的集成开发环境(ide),它是一个独立的产品,而不是oracle的一个附带品. 二.pl/sql介绍 ...
- pl/sql的介绍
为什么需要pl/sql编程? 因为使用纯的sql语句来操作数据库,有先天性的技术缺陷: 1.不能模块编程: 2.执行速度慢: 3.安全性有问题: 4.浪费带宽. pl/sql是什么? pl/sql(p ...
- oracle PL/SQL的介绍
转自:http://blog.sina.com.cn/s/blog_4c302f060101i4o1.html 一 PL/SQL的介绍 1 PL/SQL是什么? PL/SQL(procedural l ...
随机推荐
- LeetCode 74——搜索二维矩阵
1. 题目 2. 解答 若矩阵为空,比如 [], [[]],此时直接返回 false. 若目标值小于矩阵第一个元素或者大于矩阵最后一个元素,则目标值不在矩阵范围内,直接返回 false. 其他情况下, ...
- CentOS 6.5 下安装redis
1.登录虚拟机后,直接输入命令:yum -y install redis 会出现一个错误: 是因为少了epel源, 2.运行:yum -y install epel-release 最后出现 Comp ...
- DP入门(2)——DAG上的动态规划
有向无环图(DAG,Directed Acyclic Graph)上的动态规划是学习动态规划的基础.很多问题都可以转化为DAG上的最长路.最短路或路径计数问题. 一.DAG模型 [嵌套矩形问题] 问题 ...
- 数据结构11——KMP
一.博客导航 KMP算法 扩展KMP算法
- vim字符编码
今天我在用vim新建中文文件的时候遇到保存好出现乱码的问题,经过一波百度, :set encoding=utf-8 :set fileencodings=ucs-bom,utf-8,cp936 :se ...
- sc"
2.11 题目:二叉搜索树中的最近公共祖先 2.12 设计思路 if 树中不存在 u 或 v 错误 结束程序 定义 p 指向根节点 while true do: if p->key大于 u 和 ...
- 2017Nowcoder Girl初赛重现赛
https://ac.nowcoder.com/acm/contest/315#question A.平方数 代码: #include <bits/stdc++.h> using name ...
- SpringBoot 入门学习(HelloWord)
前置知识 1.会利用 maven 构建项目 2.了解 Spring 注解 3.了解 RESTful API 的基本理论 4.SpringBoot 是 SpringMVC 的升级版,但两者没有必然的联系 ...
- 【python】Python 字典(Dictionary)操作详解
Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型.一.创建字典字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = {'} ...
- poj3375 Network Connection
Description There are \(M\) network interfaces in the wall of aisle of library. And \(N\) computers ...