文档介绍:PL\SQL基础
1
本章目标
学员应掌握pl/sql块的结构
变量定义、分界符
流程控制语句
游标定义及其使用
复合数据类型record类型
游标数据类型
2
pl/sql(procedure language/structure query language)是一种应用程序开发语言,它包括大量的过程语句和随sql命令一起的命令。此语言消除了数据库技术和过程编程语言之间的障碍。基本上,作为一个应用程序开发工具pl/sql使用完善的oracle rdbms工具并扩展了标准sql数据库语言。
pl/sql允许使用包括insert、update、delete和select在内的所有sql数据操作语句,mit、rollback和savepoint等事务处理语句。pl/sql不仅允许您使用sql语句操作数据,也允许您使用诸如循环和条件分支这些在sql中无法进行的流程控制语句来处理数据。
3
sql与pl/sql区别
Sql是当今最为强大的数据检索机制之一。它被认为是当今最先进的数据库技术。但sql并不能完成一个过程语言所能完成的所有任务。pl/sql的出现将sql的强大功能和过程语言的灵活性结合起来。换句话讲,pl/sql是sql的扩展。
4
pl/sql程序运行环境
Sql*plus:最基本的环境。以declare或begin关键字开始的,sql*plus就会识别为pl/sql程序,是以“/”结束并执行。若是sql则是以“;”结束并执行。
5
pl/sql程序块
一组标准的pl/sql代码段,oracle的程序都是程序块为基本单位,可相互嵌套。
6
pl/sql块的分类
匿名块:没有标识名字,只执行一次,不能存储在db中。
带名块:该块指定了一个名称,也是动态产生只能执行一次,不能存储在db中。
子程序:是指可以存储在数据库中的过程、函数、包等程序块。可以多次执行,也可以在外部的程序中显示调用。
触发器:是一种存储在db中特殊的带名块。当某些事件执行时,就激发它,可多次执行。
7
程序块的结构
头部(head):定义块的类型,可以是函数、过程、包等。
声明部分(declare):定义变量、游标等。
执行部分(execute):以begin开始,end结束的一条或多条语句组成,完成特定操作。
异常处理部分(exception):主要处理执行中出现的多种错误。
8
程序块结构
9
注释
单行注释:“--”以双连号开始,一行开始至末尾。
多行注释:/*……..*/可以跨越多个,不能嵌套。
10