匿名块的构成
DECLARE
在匿名块内声明变量。
如果无需声明变量,则可以省略DECLARE。
BEGIN
编写SQL语句、控制逻辑等可执行的部分。
此部分是必需的。
EXCEPTION
为了应对程序内可能发生的异常,在此进行错误处理。
如果无需错误处理,则可以省略EXCEPTION。
END
表示匿名块的结束。
示例1 包含所有部分的匿名块
示例2 只包含执行部分的匿名块
- DECLARE
- /* 声明部分 */
- BEGIN
- /* 执行部分 */
- EXCEPTION
- /* 异常处理部分 */
- END;
DECLARE
在匿名块内声明变量。
如果无需声明变量,则可以省略DECLARE。
BEGIN
编写SQL语句、控制逻辑等可执行的部分。
此部分是必需的。
EXCEPTION
为了应对程序内可能发生的异常,在此进行错误处理。
如果无需错误处理,则可以省略EXCEPTION。
END
表示匿名块的结束。
示例1 包含所有部分的匿名块
- declare
- dname varchar2(10);
- begin
- for dept_rec in (select dept_id,dept_name from dept) loop
- dname := dept_rec.dept_name;
- dbms_output.put_line(dname);
- end loop;
- exception
- when others then
- dbms_output.put_line('出错了!!');
- end;
示例2 只包含执行部分的匿名块
- begin
- for dept_rec in (select dept_id,dept_name from dept) loop
- dbms_output.put_line(dept_rec.dept_name);
- end loop;
- end;