Oracle 中编写procedure 通常会由一个个块组成,块的基本形式为:
declare
...
begin
...
exception
...
end
--注:declare里面的变量仅在本块及其子块有意义.类似c里面函数的局部变量.
初学的时候,想查询一条语句,如果差不到或者有异常要做相应的处理,会在select 后加上异常捕获,那首先要把语句放到语句块中,例如:
begin
for i in 1..10 Loop
declare
v_c varchar2(10);
begin
v_c:='123';
select a into v_num from t_test where a=i; -- 查不到就抛no_data_found
dbms_output.put_line('we get it');
exception when no_data_found then -- 遇到异常做一些处理
dbms_output.put_line('something wrong');
exit;
end;
end Loop;
dbms_output.put_line('exit successful');
end;