概述
 SPL例程由开始语句,语句块,结束语句组成。 SPL例程根据是否需要返回值,分为存储过程和函数。 语句块由SQL和SPL语句组成。
 存储过程
 语法
 create procedure proc_name(param1 data_type1, param2 data_type2, …)
 spl_code;
 end procedure;
函数
 语法
 create function func_name(param1 data_type1, param2 data_type2, …)
 returning data_type1 [as id1], data_type2 [as id2], …
 spl_code;
 return val1, val2, … [with resume];
 end function;
语法
 变量声明
 语法
 create procedure proc_name(param1 data_type1, param2 data_type2, …)
 spl_code;
 end procedure;
 define m, n int;
 define global i int default 1;
变量赋值
 语法
 let var = value;
 let var1, var2,… = val1, val2, …;
 let var1, var2, … = function(args1, args2, …);
 let var1, var2, … = (select col1, col2, … from table_name);
条件
 语法
 case expr
 when val_1 then
 code_1
 [when val_2 then
 code_2 …]
 else
 code_n
 end case;
循环
 GOTO
 语法
 <<lbl_goto>>
 spl_code;
 if expr then
 goto lbl_goto;
 end if;
LOOP
 语法
loop
 if expr then
 exit; end if;
 end loop;
 loop
 exit when expr;
 end loop;
FOR/FOREACH
 语法
 for i in (start_val to end_val) loop
 spl_code;
 end loop;
 for i in (start_val to end_val)
 spl_code;
 end for;
 foreach select col1, col2,… into var1, var2,… from table_name
 spl_code;
 end foreach;
WHILE
 语法
 while expr loop
 spl_code;
 end loop;
 while expr
 spl_code;
 end while;
异常处理
 语法
 on exception [in (…)] set sql_err_num[,isam_err_num]
 spl_code;
 end exception [with resume];










