PL/SQL(二):控制结构

IF结构:

begin 
  if(to_char(sysdate-2,'day')='星期六') then
      dbms_output.put_line('DOTA');
  elsif (to_char(sysdate,'day')='星期日') then
         dbms_output.put_line('LOL');
  else
         dbms_output.put_line('上班去');
  end if;
end;


CASE结构:

方式一

begin 
  if(to_char(sysdate-2,'day')='星期六') then
      dbms_output.put_line('DOTA');
  elsif (to_char(sysdate,'day')='星期日') then
         dbms_output.put_line('LOL');
  else
         dbms_output.put_line('上班去');
  end if;
end;


方式二

begin 
  if(to_char(sysdate-2,'day')='星期六') then
      dbms_output.put_line('DOTA');
  elsif (to_char(sysdate,'day')='星期日') then
         dbms_output.put_line('LOL');
  else
         dbms_output.put_line('上班去');
  end if;
end;


LOOP循环:

方式一(无条件的循环,需在循环体类写exit)

declare
  i int := 1;

begin
  loop
    dbms_output.put_line(i);
    i := i + 1;
    if (i = 11) then
      exit;
    end if; 
  end loop;
end;

方式二(带条件循环)

declare
  i int := 1;
begin
  for i in 1..10 loop    --i以加 1 进行递增,注意不能对 i in 1..10 加括号
    dbms_output.put_line(i);    --在这个结构中不能对i进行赋值
  end loop;
end;


while循环:

declare
  i int := 1;  

begin
  while(i<10) loop    
    dbms_output.put_line(i);
    i := i+1;    
  end loop;
end;


GOTO语句:

begin
  dbms_output.put_line(1);
  goto last_row;
  dbms_output.put_line(2);
  dbms_output.put_line(3);
  <<last_row>>
  dbms_output.put_line(4);  
end;

















猜你喜欢

转载自blog.csdn.net/S031302306/article/details/73289289
今日推荐