标签:
特点
只指定哪些数据被操纵,至于对这些数据要执行哪些操作,以及这些操作是如何执行的,则未被指定。
优点
在于它的简单易学,完全不用考虑上下文,因此已经成为关系数据库访问和操纵数据的标准语言。
特点
一条语句的执行是与其前后的语句和控制结构(如条件语句、循环语句等)相关的
优点
与SQL相比,这些语言显得比较复杂,但优点是使用灵活,数据操纵能力非常强大。
为了弥补SQL在过程化控制方面的不足,许多商用数据库系统,都对标准SQL语言进行了扩充,增加了过程化控制部分,即所谓的PL/SQL。当然不同的数据库系统所做的扩充程度是很不同的。
过程化SQL程序的基本结构是块,所有的过程化SQL程序都是由块组成的.
注意:变量赋值和表达式赋值需要添加:
变量定义
变量名 数据类型[[not null ] :=初始表达式]
变量名 数据类型[[not null] 初值表达式]
常量定义
常量名 数据类型 constant:=常量表达式
条件控制语句
if condition then
sequence_of_statements;
end if
if condition then
sequence_of statement1;
else
sequence_of statement2;
end if;
循环控制语句
loop
sequence_of_statement
end loop
while condition loop
sequence_of_statement
end loop
赋值
变量名:=表达式
错误处理
如果过程化SQL在执行时出现异常,则应该让程序在产生异常的语句处停下来,根据异常的类型去执行异常处理语句.
命名块有两种主要方式:
存储过程
函数
定义
存储过程是由过程化SQL语句书写的过程,这个过程经过编译和优化后存储在数据库服务器中,因此称它为存储过程,使用时只要调用即可.
优点
缺点
create or replace procedure 过程名([参数1,参数2...]) as <过程化块>
call/perform procedure 过程名([参数1...]);
alter procedure 过程名 compile
drop procedure 过程名()
函数就是自定义函数,使用后u自己使用过程化sql设计定义的。函数和存储过程类似。
使用方式:
Create function function_name(参数列表)returns返回值类型
Dropfunction if existsfunction_name;
Alter functionfunction_name函数选项
Show function status like ‘partten’
Show create functionfunction_name;
二者之间的区别
本质没有区别,但是参数、调用和返回值等细节上有些许差别。
参考文章:
http://www.cnblogs.com/ego/archive/2012/12/06/2804592.html
http://www.cnblogs.com/lengbingshy/archive/2010/02/25/1673476.html
标签:
原文地址:http://www.cnblogs.com/x739400043/p/5817538.html