常用Oracle语法

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:=&num;
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账号成功

猜你喜欢

转载自my.oschina.net/u/3646942/blog/1528611
今日推荐