PL/SQL(Procedural Language / SQL)是编写数据库存储过程的一种过程语言,它结合了SQL的数据操作能力和过程化语言的流程控制能力,是SQL语言的过程化扩展。
存储过程是由PL/SQL语言书写的过程,这个过程经编译和优化后存储在数据库服务器中,使用时调用即可。
优点(存储过程经编译和优化后存储在数据库服务器中,因而运行效率高,可以降低客户机和服务器之间的通信量,有利于集中控制,又能方便地进行维护)
(1)由于存储过程不像解释执行的SQL语句那样在提出操作请求时才进行语法分析和优化工作,因而运行效率高,它提供了在服务器端快速执行SQL语句的有效途径。
(2)存储过程降低了客户机和服务器之间的通信量。客户机上的应用程序只要通过网络向服务器发出存储过程的名字和参数,就可以让RDBMS执行许多条的SQL语句,并执行数据处理。只有最终处理处理结果返回客户端。
(3)方便实施企业规则。可以把企业规则的运算程序写成存储过程放入数据库服务器中,由RDBMS管理,既有利于集中控制,又能方便地进行维护。当用户规则发生变化时只要修改存储过程,无须修改其他应用程序。
存储过程包括过程首部和过程体。
过程名:是数据库服务器合法的对象标识。
参数列表:用名字来标识调用时给出参数值,必须指定值的数据类型。存储过程的参数也可以定义输入参数、输出参数或输入/输出参数。默认为输入参数。
过程体:描述存储过程的操作,是一个<PL/SQL块>。包括声明部分和可执行语句部分。