- 条件语句:
- if...then...else语句:
declare l_num number := # begin if l_num = 1 then dbms_output.put_line(1); elsif l_num = 2 then dbms_output.put_line(2); else dbms_output.put_line('other'); end if; end;
- case语句:
declare l_num number := # begin case l_num when 1 then dbms_output.put_line('1'); when 2 then dbms_output.put_line('2'); when 3 then dbms_output.put_line('3'); when 4 then dbms_output.put_line('4'); else dbms_output.put_line('more'); end case; end;
- if...then...else语句:
- 循环语句:
- 无限制循环:
/** * loop 循环 */ declare r_number number :=0; begin loop -- 使用if和exit命令退出 if r_number > 4 then exit; end if; dbms_output.put_line('number:'||r_number); r_number := r_number+1; end loop; end; declare r_number number :=0; begin loop -- 使用exit when命令退出 exit when r_number >4; dbms_output.put_line('number:'||r_number); r_number := r_number+1; end loop; end;
- While循环:
/* * while 循环 */ declare r_number number :=0; begin while r_number <5 loop dbms_output.put_line(r_number); r_number := r_number + 1; end loop; dbms_output.put_line(r_number); end;
- for 循环:
/* * for 循环 */ declare r_number number :=5; begin for var_index in 1..r_number loop dbms_output.put_line(var_index); end loop; end; declare cursor my_cursor is select * from emp; begin for cursor_record in my_cursor loop dbms_output.put_line(cursor_record.ename); end loop; end;
- 无限制循环: