PL/SQL 之 基础
PL/SQL(Procedural Language extensions to SQL)是Oracle 对标准 SQL 语言的过程化扩展,是专门用于各种环境下对 Oracle 数据库进行访问和开发的语言。
一、概述
Oracle数据库对标准的SQL 语言进行了扩展,将 SQL 语言的非过程化与第三代开发语言的过程化相结合,产生了 PL/SQL 语言。在 PL/SQL 语言中,既可以通过SQL 语言实现对数据库的操作,也可以通过过程化语言中的复杂逻辑结构完成复杂的业务逻辑。
在PL/SQL程序中,引入了变量、控制结构、函数、过程、包、触发器等一系列数据库对象,为进行复杂的数据库应用程序开发提供了可能。
特点:
[1] 与SQL语言紧密集成,支持SQL语句;
[2] 减少网络流量,提高应用程序的运行性能;
[3] 模块化程序设计功能,提高了系统可靠性;
[4] 服务器端程序设计,可移植性好。
二、PL/SQL程序结构
1、PL/SQL块的组成
PL/SQL程序的基本单元室语句块。一个完整的语句块由三部分组成:
DECLARE
声明部分,定义变量、数据类型、异常、局部子程序等
BEGIN
执行部分,实现块的功能
EXCEPTION
异常处理部分,处理程序执行过程中产生的异常
END
注意:
[1] 执行部分是必须的,声明和异常是可选的;
[2] 可以在执行或异常处理部分嵌套其他的PL/SQL块;
[3] 所有的块都是以“ END; ”结束的;
2、块的分类
匿名块:动态生成,只能执行一次的块,不能由其他应用程序调用;
命名块:一次编译可多次执行的PL/SQL程序,包括函数、存储过程、包、触发器等。他们编译后放在服务器中,由应用程序或系统在特定条件下调用执行。
三、词法单元
所有PL/SQL程序都由词法单元构成,所谓词法单元就是一个字符序列,字符序列中的字符取自PL/SQL语言所允许的字符集。PL/SQL中的词法单元包括标识符、分隔符、常量值、注释等。
1、字符集
字符集包括如下:
[1] 所有大小写字母:包括A~Z,和 a~z;
[2] 数字:包括0~9;
[3] 空白符:包括制表符、空格和回车符;
[4] 符号:+、-、*、/、<、>、=、~、!、@、#、$、%、^、&、(、)、_、|、{、}、[、]、?、;、:、,、.、"、'。
注:字符集不区分大小写。
2、标识符
标识符用于定义PL/SQL变量、常量、异常、游标名称、游标变量、参数、子程序名称和其他的程序单元名称等。
标识符是以字母开头的,后边可以跟字母、数字、美元符号($)、井号(#)或下划线(_),其最大长度为30个字符,并且所有字符都是有效的。
注意:如果标识符区分大小写、使用预留关键字或包含空格等特殊符号时,需用""括起来,称为引证标识符。
3、分隔符
分隔符是指有特定含义的单个符号或组合符号。
4、常量值
常量是指不能作为标识符的字符型、数字型、日期型和布尔型值。
[1] 字符型:即以单引号引起来的字符串,在字符串中的字符区分大小写。如果字符串本身包含单引号,则用两个连续的单引号进行转义。如'he''s book'。
[2] 数字型:分为整数与实数两类。
[3] 布尔型:指预定义的布尔型变量的取值,包括 TRUE、FALSE、NULL三个值。
[4] 日期型:表示日期值,其格式随日期类型格式不同而不同。
5、注释
单行注释:以“--”开始,直到该行结尾;
多行注释:以“/*”开始,以“*/”结束。
四、数据类型
PL/SQL 之 基础的更多相关文章
- Oracle数据库编程:PL/SQL编程基础
2.PL/SQL编程基础: PL/SQL块: declare 定义部分 begin 执行部分 exception 异 ...
- Oracle Pl/SQL编程基础
Pl/SQL简介 提高应用程序的运行性能, 提供模块化的程序设计, 自定义标示符, 具有过程语言控制结构, 良好的兼容性, 处理运行错误. Pl/SQL语言基础 sql是关系数据库的基本操作语言. s ...
- oracle PL/SQL语法基础
目录 数据类型 定义变量 PL/SQL控制结构 参考资料 Oracle10g数据类型总结 PL/SQL之基础篇 数据类型 学习总结 字符类型 char.nchar.varchar.nvarchar:有 ...
- 【PL/SQL编程基础】
[PL/SQL编程基础]语法: declare 声明部分,例如定义变量.常量.游标 begin 程序编写,SQL语句 exception 处理异常 end: / 正斜杠表示执行程序快范例 -- Cre ...
- PL/SQL语言基础
PL/SQL语言基础 进行PL/SQL编程前,要打开输出set serveroutput on 1.创建一个匿名PL/SQL块,将下列字符输出到屏幕:"My PL/SQL Block Wor ...
- PL/SQL编程基础(三):数据类型划分
数据类型划分 在Oracle之中所提供的数据类型,一共分为四类: 标量类型(SCALAR,或称基本数据类型) 用于保存单个值,例如:字符串.数字.日期.布尔: 标量类型只是作为单一类型的数据存在,有的 ...
- PL/SQL编程基础(一):PL/SQL语法简介(匿名PL/SQL块)
PL/SQL PL/SQL是Oracle在关系数据库结构化查询语言SQL基础上扩展得到的一种过程化查询语言. SQL与编程语言之间的不同在于,SQL没有变量,SQL没有流程控制(分支,循环).而PL/ ...
- PL/SQL编程基础——PL/SQL简介
课程教师:李兴华 课程学习者:阳光罗诺 日期:2018-07-28 知识点: 1. 了解PL/SQL的主要特点 2. 掌握PL/SQL块的基本结构 PL/SQL PL/SQL是Oracle在关系数据库 ...
- Oracle PL/SQL语句基础学习笔记(上)
PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE server和其它工具中了,近几年中很多其它的开发者和DBA開始使用PL/SQL,本文将讲述PL ...
- Oracle数据库之PL/SQL程序基础设计
一.PL/SQL块结构 前边我们已经介绍了PL/SQL块的结构,再来回顾一下: DECLARE /* * 声明部分——定义常量.变量.复杂数据类型.游标.用户自定义异常 */ BEGIN /* * 执 ...
随机推荐
- misaka and last order SCU - 4489 (筛法的灵活应用)
Time Limit: 1000 MS Memory Limit: 131072 K Description Misaka Mikoto is a main character of the Anim ...
- 【最小点覆盖】POJ3041-Asteroids
[题目大意] 在n*n的网格上有n个点,每次删除一行或者一列,问至少要删除几次才能删除完全部的这些店? [思路] 在国庆最后一天到来前,把二分图的三个基本情况[最小点覆盖][DAG图的最小路径覆盖]和 ...
- 如何在SpringBoot当中上传多个图片或者上传单个图片 工具类
如何在SpringBoot当中上传多个图片[上传多个图片 ] 附赠工具类 1.SpringBoot 上传图片工具类 public class SpringUploadUtil { /*** * 上传图 ...
- Map按照数值进行排序
public static Map<String, Integer> sortMapByValue(Map<String, Integer> oriMap) { if (ori ...
- 内功心法 -- java.util.LinkedList<E> (4)
写在前面的话:读书破万卷,编码如有神--------------------------------------------------------------------下文主要对java.util ...
- (转)资源监控工具Spotlight监测LINUX
个人1.安装spotlight,Spotlight on Unix2.配置spotlight,注意spotlight默认不能使用root用户进行连接,需要用户自己创建一个具有root权限的用户.(1) ...
- 项目部署后,替换.class文件不生效
昨天晚上踩了个坑,搞到晚上凌晨.今天感觉有必要总结一下菜的坑... 因为正式环境部署项目,有很多个服务器,有时候发包太慢,或者一些原因不可以轻易发包的.下面谈一下我的经历过程: 因为升级了版本,ip地 ...
- mui 图片预览
1. 图片放大滑动预览需要 mui.zoom.js mui.previewimage.js 2. 调用 mui.previewImage(); 3. 滑动过程中禁止图片缩放 注释掉下面代 ...
- CentOS下使用KVM克隆虚拟机自动修改网卡的MAC地址
克隆完虚拟机之后Mac地址还保留着母机的配置,此时需要修改成新的Mac地址才能继续,网上一般都是这样的手动操作: 参考:http://blog.51cto.com/freedyong/1361907 ...
- Java代码优化方案 J2ME内存优化
Java代码优化方案 J2ME内存优化 从几本书上,N个网站上整理的一些JAVA代码优化方案,最近的项目只有1M内存可用,必须很抠门了~J2ME项目更要注意的 避免内存溢出 l 不用的对象释放(置空) ...