PL/SQL基础知识
PL/SQL基础知识
缔造者9900 发表于5个月前
PL/SQL基础知识
  • 发表于 5个月前
  • 阅读 1
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: 每个知识点都有对应实例。

循环结构

  1. 使用循环语句打印 1 - 100.(三种方式)
 -- ① loop        exit when        end loop 
set serveroutput on;
declare
  -- 初始化
  v_i number(3) := 1;
begin
  loop
  -- 循环体,打印变量 v_i
  dbms_output.put_line(v_i);
  -- 循环条件
  exit when v_i = 100;
    -- 迭代条件
    v_i := v_i + 1;
  end loop;
end;


-- ② while        loop        end loop
set serveroutput on;
declare
    -- 初始化
    vi number(3) := 1 ;
begin
    while vi <= 100 loop
      dbms_output.put_line(vi);
      vi := vi + 1;
    end loop ;
end;

-- ③ for    loop     end loop

set serveroutput on;

begin
    for i in 1 .. 100 loop
      dbms_output.put_line(i);
    end loop;
end;

10.综合使用 if,while 语句 ,打印1—10 之间的所有素数。(素数:只能被1和自身乘除)

 declare
    v_flag number(1) :=1;
    v_i number(3) :=2;
    v_j number(2) :=2;
 begin
 
    while (v_i <= 100 ) loop
        while v_j <=sqrt(v_i) loop
            if (mod(v_i ,v_j) = 0 ) then v_flag := 0 ;
            end if;
            v_j := v_j +1;
        end loop;
      
      if(v_flag = 1) then SYS.DBMS_OUTPUT.PUT_LINE( v_i );
      end if;
      
      v_flag := 1;
      v_j := 2;
      v_i := v_i +1;
    end loop;
    
 end;
//--------------------------------------------------------------------------------------------------------------------------------------------
declare
  v_flag number(1) :=1;
begin
    for i in 2 .. 100 loop
        v_flag :=1;
        
        for j in 2 .. sqrt(i) loop
            if i mod j = 0 then v_flag :=0;
            end if;
        end loop;
        
        if v_flag = 1 then dbms_output.put_line(i);
        end if;
    end loop;
end;

共有 人打赏支持
粉丝 1
博文 15
码字总数 1762
×
缔造者9900
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: