Oracle入门(十四.7)之良好的编程习惯

、目的

良好的编程实践是可以遵循的技术来创建最佳代码。 编程实践涵盖了从编写更易读的代码到创建具有更快性能的代码。

软件工程团队通常会遵循风格指南,以便团队中的每个人都使用相同的技术。 这使得读取和修改其他人编写的代码变得更加容易。


二、编程实践

您已经在本课程中学到了一些很好的编程实践:
•转化:

- 不要依赖隐式数据类型转换,因为它们可能会更慢,并且规则可能会在以后的软件版本中更改。

•声明和初始化PL / SQL变量:
- 使用有意义的名字。
- 为了更好的可读性和代码维护,每行声明一个标识符。
- 当变量必须保存一个值时,使用NOT NULL约束。
- 避免使用列名作为标识符。

- 使用%TYPE属性根据另一个先前声明的变量或数据库列声明一个变量。


三、编程指南

其他编程指南包括:
•用注释记录代码
•为代码开发一个案例约定
•开发标识符和其他对象的命名约定

•通过缩进增强可读性


四、注释代码示例

用两个破折号( - )前缀单行注释。

在符号“/ *”和“* /”之间放置多行注释。

DECLARE
...v_annual_sal NUMBER (9,2);
BEGIN -- Begin the executable section/* Compute the annual salary based on themonthly salary input from the user */v_annual_sal := v_monthly_sal * 12;
END; -- This is the end of the block


五、变量范围

(1)大小写约定

下表提供了以大写或小写编写代码的指导原则,以帮助区分命名对象中的关键字。


(2)命名约定

标识符的命名应该清晰,一致并且明确。
一个常用的惯例是命名:
•以v_开头的变量
•以c_开头的常量
•以p_开头的参数(传递给过程和函数)

例子:
• v_date_of_birth
• c_tax_rate
• p_empno

(3)缩进代码

为了清楚起见,缩进每个级别的代码。 例子:

BEGINIF x=0 THENy:=1;END IF;
END;
DECLAREv_deptno NUMBER(4);v_location_id NUMBER(4);
BEGINSELECT department_id,location_idINTO v_deptno,
v_location_idFROM departmentsWHERE department_name = 'Sales';
...
END;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/329358.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

css 浏览器调试中不可见_前端入门必会的初级调试技巧

本文仅仅针对前端初学者,目的是【用20%不到的时间】 学会【前端最常用的部分调试技巧】,如果需要最详细的调试技巧,包括调试性能优化的相关知识,文末会补充最全的文档(chrome devtool的官方文档链接)初学一…

升级ASP.Net Core项目

升级完类库项目,第二篇,我们来升级ASP.Net Core项目 修改global.json与project.json 这里可以参照,升级.Net Core RC2的那些事(一) 这里补充一点就是如果你觉得这样修改复杂,你完全可以新建一个项目&#x…

gophp解释器_【干货】Gisp 解释器 Golang 辅助开发工具

Gisp 是一个提供给 golang 使用的 Lisp 类 DSL 解释器。在 Lisp 的基本语法基础上,针对 go 环境稍作了一点语法糖。主要目标是提供一个尽可能便于与 golang 互操作的微型DSL工具。简介Gisp用go语言编写,是一个DSL 解释器,这个 DSL 基本上就是…

Oracle入门(十四.8)之迭代控制:基本循环Loop

一、迭代控制:LOOP语句 循环多次重复一个语句或一系列语句。 PL / SQL提供了以下几种类型的循环:•没有全面条件执行重复操作的基本循环 •FOR循环,基于计数器执行迭代操作•WHILE循环根据条件执行重复操作二、基本循环LOOP语句的最简单形式…

phpst安装memcache扩展_在 Ubuntu/Debian 下安装 PHP7.3 教程

介绍最近的 PHP 7.3.0 已经在 2018 年12月6日 发布 GA,大家已经可以开始第一时间体验新版本了,这里先放出 PHP7.3 安装的教程以便大家升级。适用系统: Ubuntu 18.04 LTS / Ubuntu 16.04 LTS / Ubuntu 14.04 LTS / Debian 9 stretc…

升级.Net Core RC1的类库项目

微软终于发布了.Net Code RC2了,作为一个软粉当然是第一时间升级了。《升级.Net Core RC2的那些事》系列文章主要是记录本人升级RC2的相关步骤以及遇到过的坑。 第一篇先写类库项目(Nuget包项目)的升级 升级VS工具 这里只提供一个下载地址&am…

Oracle入门(十四.9)之迭代控制:WHILE和FOR循环

一、WHILE循环您可以使用WHILE循环重复一系列语句,直到控制条件不再为TRUE。 条件在每次迭代开始时进行评估。当条件为FALSE或NULL时,循环终止。 如果条件在循环开始时为FALSE或NULL,则不会执行进一步的迭代。 WHILE condition LOOPstatement…

为TFS配置跨平台的生成服务器Xplat (Ubuntu Linux)

1. 概述 从TFS 2015开始,微软开始支持跨平台的构建代理。你可以使用TFS的Xplat代理,方便的在基于IOS, Unix和Linux的服务器上搭建生成代理,实现构建、发布等功能。本文档已Ubuntu为例,指导如何安装和运行Xplat代理。 2. 配置TFS的…

分数优先遵循志愿php源码_分数优先 遵循志愿

本报讯 昨日,广东省考试院发布2019年我省普通高校招生平行志愿投档及录取实施办法。今年我省依旧实行普通高校招生平行志愿投档录取模式,按照“分数优先、遵循志愿”的原则,根据考生高考成绩高低排序和院校志愿先后顺序投档,投出…

Oracle入门(十四.10)之显式游标简介

一、上下文区域和游标Oracle服务器分配一个称为上下文区域的私有内存区域来存储由SQL语句处理的数据。 每个上下文区域(因此每个SQL语句)都有一个与其关联的游标。您可以将游标视为上下文区域的标签,或者将其作为指向上下文区域的指针。 事实…

1.(转)canal背景与工作原理

【README】 1.canal是一个工具,由阿里开源,用于解析mysql的binlog增量日志,重放日志还原出业务数据,下游可以送入 es,mysql,hbase等; 2.本文以下内容转自:GitHub - alibaba/canal:…

Dapper、Entity Framework 和混合应用

你大概注意到了,自 2008 年以来,我写过许多关于 Entity Framework(即 Microsoft 对象关系映射器 (ORM))的文章,ORM 一直是主要的 .NET 数据访问 API。市面上还有许多其他 .NET ORM,但是有一个特殊类别因其强…

html让时间只展示年月日_如何用html写代码,使得在网页上显示当前的时间和日期...

展开全部在网页62616964757a686964616fe59b9ee7ad9431333363363537中动态的显示日期时间,一般都是使用js来实现,很简单,一看就会。网页中动态的显示系统日期时间function startTime(){var todaynew Date();//定义日期对象var yyyy today.get…

Oracle入门(十四.11)之使用显式游标属性

一、游标和记录 此示例中的游标基于SELECT语句,该语句仅检索每个表行的两列。 如果它检索了六列或七,八,二十个呢? DECLAREv_emp_id employees.employee_id%TYPE;v_last_name employees.last_name%TYPE;CURSOR emp_cursor ISSEL…

(转 )centos8安装mysql

【1】下载 mysql rpm包 MySQL :: Download MySQL Yum Repositoryhttps://dev.mysql.com/downloads/repo/yum/ 【2】安装mysql 根据官方文档安装,如下: MySQL :: A Quick Guide to Using the MySQL Yum Repositoryhttps://dev.mysql.com/doc/mysql-yu…

IIS负载均衡-Application Request Route详解第一篇: ARR介绍

说到负载均衡,相信大家已经不再陌生了,本系列主要介绍在IIS中可以采用的负载均衡的软件:微软的Application Request Route模块。 其实Application RequestRoute已经有很多文章介绍过了,但是有很多的文档都是英文的,笔者…

单位矩阵的逆矩阵是它本身吗_矩阵运算、单位矩阵与逆矩阵(二)

逆矩阵什么是逆矩阵?数有倒数:逆矩阵也是相同的概念,但我们写为A-1逆矩阵的定义计算逆矩阵我们怎么知道计算结果是正确的?我们把矩阵和逆矩阵相乘来看看:我们为什么需要逆矩阵,举个例子:一帮人坐…

Oracle入门(十四.12)之游标FOR循环

一、游标FOR循环游标FOR循环处理显式游标中的行。 这是一个快捷方式,因为游标被打开,循环中的每次迭代都会获取一次行,当处理最后一行时会退出循环,并且游标会自动关闭。 当最后一行被提取时,循环本身在迭代结束时自动…

结合Jexus + Kestrel 部署 asp.net core 生产环境

ASP.NET Core 是微软的全新的框架。这一框架的目标 ︰ 跨平台针对云应用优化解除 System.Web 的依赖。 获得下面三个方面的优势,你可以把它认为是一个C# 版本的NodeJS: 1) 模块化实现 2) 一切都尽可能的-异步 3) 依赖关…

centos普通用户修改文件权限_用户管理(特殊权限、特殊属性、umask 默认权限 )

特殊权限suidLinux 系统文件除了9位基本权限,还有额外3位特殊权限,分别是  SUID(set uid), -rwsr-xr-x  SGID(set gid), -rw-r-sr-x  SBIT(sticky bit), -rw-r-xr-t  这3位特殊权限不建议使用(除系统默认的特殊权限可…