1. WHILE 语法:
WHILE 条件 LOOP ... END LOOP ;
例如:
set serverout on declare --定义初始值 v_num number:=# begin --编写循环结构和定义循环条件 while v_num<10 loop dbms_output.put_line('第'||v_num||'次输出'); --改变循环条件 v_num:=v_num+1; end loop; end; /
2. DO - WHILE 循环语法:
LOOP ... EXIT ... WHEN 条件 ... END LOOP ;
例如:
set serverout on declare v_num number:=# begin loop v_num:=v_num+1; dbms_output.put_line('第'||v_num||'次!'); exit when v_num>10; end loop ; end; /
1. FOR 循环语法:
FOR 循环范围 LOOP ... END LOOP
例如:
--循环输出10次 set serverout on begin for i in 0..10 loop dbms_output.put_line('第'||i||'次!'); end loop; end; / ------------------------------------------ 第0次!
第0次!
第1次!
第2次!
第3次!
第4次!
第5次!
第6次!
第7次!
第8次!
第9次!
第10次!
1. CASE 语法:
CASE 测试变量 WHEN 目标1 THEN ... WHEN 目标2 THEN ... END CASE ;
例如:
set serverout on declare v_name varchar2(20):='&name'; begin case v_name when 'a' then dbms_output.put_line('输入的是a'); when 'b' then dbms_output.put_line('输入的是b'); end case; end; /
1. IF 语法
IF 表达式 THEN ... END IF;
例如:
set serverout on declare v_name varchar2(20):='&name'; begin if v_name='kiki' then dbms_output.put_line('登录成功'); end if; end; / --------执行内容结果如下------- 输入 name 的值: kiki 原值 2: v_name varchar2(20):='&name'; 新值 2: v_name varchar2(20):='kiki'; 登录成功
2. IF .. ELSE 语法:
IF 条件表达式 THEN ... ELSE ... END IF;
例如:
set serverout on declare v_name student.sname%type:='&name'; begin if v_name='kiki' then dbms_output.put_line('登录成功!'); else dbms_output.put_line('登录失败'); end if; end; / --------执行内容结果如下------- 输入 name 的值: kiki 原值 2: v_name student.sname%type:='&name'; 新值 2: v_name student.sname%type:='kiki'; 登录失败
3. IF ... ELSIF ... ELSE 嵌套结构
IF 条件表达式 THEN ... ELSIF 条件表达式 THEN ... ELSE ... END IF ;
例如:
--1.if-else结构 set serverput on --打开oracle自带的输出方法dbms_output declare --声明 v_name varchar2(20):='&name'; --定义需要手动输入的变量 v_password number(10):='&password'; begin --开始 if v_name='kikiwen' and v_password=123 then --条件判断 dbms_output.put_line('登录成功');--输出语句 elsif v_name='kiki' and v_password=123 then dbms_output.put_line('登录' || v_name || '账号成功'); else dbms_output.put_line('登录失败!'|| v_name || '账号或者密码不正确'); end if; end;--结束 / --------执行内容结果如下------- 输入 name 的值: kiki 原值 2: v_name varchar2(20):='&name'; 新值 2: v_name varchar2(20):='kiki'; 输入 password 的值: 123 原值 2: v_name varchar2(20):='&password'; 新值 2: v_name varchar2(20):=123; 登录kiki账号成功