1. 过程化SQL
1)基本结构
declare -- 定义变量、常量、游标、异常
a int :=0;
b float;
begin -- 执行开始
-- sql语句及流程控制语句等
ecception -- 异常处理
end -- 执行结束
2)变量常量定义
变量名 类型 [:=初始值];
常量名 类型 constant :=常量表达式;
赋值语句: 变量名 := 表达式;
3)条件控制语句
-- if then语句
if 条件 then
语句;
end if
-- if then else语句
if 条件 then
语句1;
else
语句2;
end if
4)循环控制语句
-- loop语句,可使用exit、break、leave等结束循环
loop
语句;
end loop;
-- while loop语句
while 条件 loop
语句;
end loop;
-- for loop语句
for i in 1..10 loop
语句;
end loop;
5)过程化SQL
过程化SQL有两种类型:匿名块和命名块。前者每次执行都需要编译,如果需要将过程化SQL编译后储存在数据库中,就要使用命名块。命名块包括存储过程和自定义函数,两者的区别是后者必需有返回值,而前者非必需。
2. 存储过程
3. 自定义函数