精华内容
下载资源
问答
  • oracleWHILE循环插入数据

    千次阅读 2018-11-21 21:51:55
    DECLARE  x number;  s VARCHAR2(3); ... WHILE x < 20 LOOP  if x < 10 then  s := concat('00', x);  elsif x >= 10 and x < 100 then  s := concat('0',...

    DECLARE
      x number;
      s VARCHAR2(3);
    BEGIN
      x := 0;
      s := '';
      WHILE x < 20 LOOP
        if x < 10 then
          s := concat('00', x);
        elsif x >= 10 and x < 100 then
          s := concat('0',x);
        end if;
        /*DBMS_OUTPUT.PUT_LINE('x=' || x);*/
        DBMS_OUTPUT.PUT_LINE(s);
      
        insert into table
          (FID,b)
        values
          (x,concat('111', s));
           
        x := x + 1;
      
      END LOOP;
    END;
     

    展开全文
  • ---------------------------------------------------------》plsql 中跳出循环的语句和java中的break语句同意  end if;  else  str := substr(piv_str, i, j - i);  i := j + len1;  my_split.extend; ...

     create or replace function my_split(piv_str in varchar2, piv_delimiter in varchar2)
        --piv_str 为字符串,piv_delimiter 为分隔符
        return split_type is
        j        int := 0;
        i        int := 1;
        len      int := 0;
        len1     int := 0;
        str      varchar2(4000);
        my_split split_type := split_type();
      begin
        len  := length(piv_str);
        len1 := length(piv_delimiter);
        while j < len loop
          j := instr(piv_str, piv_delimiter, i);
          if j = 0 then
            j   := len;
            str := substr(piv_str, i);
            my_split.extend;
            my_split(my_split.count) := str;
            if i >= len then
             
    exit;---------------------------------------------------------》plsql 中跳出循环的语句和java中的break语句同意
            end if;
          else
            str := substr(piv_str, i, j - i);
            i   := j + len1;
            my_split.extend;
            my_split(my_split.count) := str;
          end if;
        end loop;

        return my_split;
      end my_split;

    展开全文
  • 本文为大家分享了Oracle中三种循环(For、While、Loop)案例,供大家参考,具体内容如下 1.ORACLE中的FOR循环用法(九九乘法表) declare i int:=0; j int:=0;...2.ORACLE中的While循环用法(九九乘法表) d
  • Oracle中的for和while循环

    千次阅读 2017-04-09 16:26:24
    数据库中的循环语句简析

    有两种方式可以实现条件循环
    一、for  变量  in  开始数值...结束数值 loop     end loop;
    二、while 条件 loop       end  loop;

    loop的使用方式:
    一、X := 100;
      LOOP
        X := X + 10;
        IF X > 1000 THEN
          EXIT;
        END IF END LOOP;
        Y := X;
    二、 X := 100;
        LOOP
          X := X + 10;
          EXIT WHEN X > 1000;
          X := X + 10;
        END LOOP;
        Y := X;

    还有一个GOTO的使用,在后面的过程中会有的,用来产生错误日志。

    以下是一个非常简单的过程,用来熟悉循环的!

    create or replace procedure count_number is
      /*
      功能描述:计算计算出1到100的和
      t的值为和
      */

      i number(10);
      t number(10);

    begin
      /*
        i := 1;
        t := 0;
      --用while+loop实现
        /*begin
          while i <= 100 loop
            t := t + i;
            i := i + 1;
          end loop;
        end;
        */
      i := 1;
      t := 0;
      --用for实现

      begin
        for i in 1 .. 100 loop
          t := t + i;
       
        end loop;
      end;

    end count_number;

    for循环:
    [PL/SQL] 用For Loop 替代Cursor

    http://www.itwenzhai.com/data/2006/0523/article_9377.htm 
    http://blog.csdn.net/heyday/archive/2005/07/27/435804.aspx
    CURSOR FOR Loop
         FOR  employee_rec in c1  ---employee_rec直接用,不用提前定义
         LOOP
         total_val := total_val + employee_rec.monthly_income;
         END LOOP;
         当使用CURSOR FOR Loop时,不用我手工open cursor close cursor
    应用:
    begin
             FOR emm IN ( SELECT ro_site, ns_site, product_line, wh_type
                          FROM eis_hq_invhl_mail_data
                         WHERE report_type = 'Detailed' )
            LOOP
            DBMS_OUTPUT.put_line( emm.product_line );
                eis_hq_invhl_pkg.make_mail_detailed_data
                                            ( p_ro_site =>            emm.ro_site,
                                              p_ns_site =>            emm.ns_site,
                                              p_product_line =>       emm.product_line,
                                              p_wh_type =>            emm.wh_type,
                                              p_current_day =>        to_date('2005-11-07','yyyy-MM-dd') );
            END LOOP;
    end;
    存储过程DIY2----游标与循环
    http://blog.csdn.net/brave1/archive/2005/06/08/390160.aspx 

    while循环:
    WHILE( i <= CEIL( LENGTH( p_clob_data ) / 4000 ))
        LOOP
            v_clob_data := TRIM( SUBSTR( p_clob_data,
                                         i * 4000,
                                         4000 ));
            DBMS_OUTPUT.put_line( SUBSTR( v_clob_data,
                                          0,
                                          255 ));
          
            i := i + 1;
        END LOOP; 

    展开全文
  • Oracle数据库里可以通过while loop循环来处理重复性编码问题,可以放在存储过程里也可以直接运行,代码样例如下: declare ym date; --声明一个循环变量 begin ym := trunc(sysdate,'YYYY'); --给循环变量赋...

    Oracle数据库里可以通过while loop循环来处理重复性编码问题,可以放在存储过程里也可以直接运行,代码样例如下:

    declare
      ym date; --声明一个循环变量
      
    begin
    
      ym := trunc(sysdate,'YYYY'); --给循环变量赋初始值
      while ym <
            trunc(add_months(sysdate,12),'YYYY') --定义循环条件
       Loop
      
        insert into TMP_CUS_TIME (month1)
        select ym from dual;
        ym := ADD_MONTHS(ym,1) ;--循环条件+1
        commit;
      end loop;
    end;
    

    这段代码就是实现了将今年每个月份insert进结果表,结果如下:

    MONTH1             |
    -------------------+
    2021-01-01 00:00:00|
    2021-02-01 00:00:00|
    2021-03-01 00:00:00|
    2021-04-01 00:00:00|
    2021-05-01 00:00:00|
    2021-06-01 00:00:00|
    2021-07-01 00:00:00|
    2021-08-01 00:00:00|
    2021-09-01 00:00:00|
    2021-10-01 00:00:00|
    2021-11-01 00:00:00|
    2021-12-01 00:00:00|
    

    键者总结了自己运行时踩过的坑,供读者参考:

    1. 运行结果需要存储在一张结果表中,否则无法输出结果
    2. 需要留心格式中的“;”符号,如果缺失将无法运行,报错时可关注一下代码格式。
    展开全文
  • Oraclewhile语句的使用

    千次阅读 2019-02-13 12:18:39
    set serveroutput on declare num int; total int; begin ... while num&lt;5 loop num:=num+1; total:=total+num; end loop; dbms_output.put_line('前5个自然数的和是'||total); en...
  • Oracle三种循环:for,while,do...while(PL/SQL)
  • PL/SQL while、for、loop 三种循环方式的使用 1、WHILE ... LOOP ... END LOOP 语法: WHILE 条件 LOOP 语句; END LOOP; 例子:输出1到5的数字 declare num number := 1; begin while num &lt;= 5 ...
  • oracle存储过程中的while loop循环示例

    千次阅读 2017-04-20 16:22:57
    declare  load_date date; --声明一个循环变量 begin ... load_date := to_date('201001', 'yyyymm'); --给循环变量赋初始值... while load_date  to_date(to_char(add_months(sysdate, -1), 'yyyymm'), 'yyyy
  • ORACLE存储过程while循环使用

    千次阅读 2016-06-28 08:49:21
    CREATE OR REPLACE PROCEDURE proc_testasi number;...while i < 10 LOOPbegini:= i + 1;--insert into student () values ();Dbms_output.Put_line('插入第'||i||'条数据');end;end LOOP;END pr...
  • Oracle中三种循环(For、While、Loop)

    万次阅读 2018-07-04 09:38:38
    1.ORACLE中的GOTO用法 1234567891011DECLARE x number;BEGIN x := 9; &lt;&lt;repeat_loop&gt;&gt; --循环点 x := x - 1; DBMS_OUTPUT.PUT_LINE(X); IF X &gt; 0 THEN GOTO repeat_loop...
  •  Oracle 遍历游标的四种方式(for、fetch、while、bulk collect+forall) 2.问题分析  我们可以把游标想象成一张表,想要遍历游标,就要取到游标的每行数据,所以问题的关键就成了:如何取到行数据? 3.解决方案 ...
  • Oracle循环语句的几种用法

    千次阅读 2019-09-23 12:16:57
    oracle中的循环语句大致分三种:Loop、While、For 1.Loop declare i number; begin i := 0; LOOP Exit When(i > 5); Dbms_Output.put_line(i); i := i + 1; END LOOP; end; 等价于 declare i number...
  • OTO用法,以下是SQL源码:DECLARE x number;BEGIN x := 0; &lt;&lt;repeat_loop&gt;&gt; --循环点 x := x + 1; DBMS_OUTPUT.PUT_LINE(X); IF x &lt; 9 THEN --当x的值小于9时,就goto到...
  • 知识点:简单循环WHILE 循环,数值型 FOR 循环,CONTINUE ...本章会讨论前三种循环,并学习 Oracle 11g 中所引入的 CONTINUE 和 CONTINUE WHEN 语句,以及循环的嵌套使用。 1、loop循环使用 1.1 简单循环loo...
  • java while循环_Java while循环

    千次阅读 2020-07-14 03:04:52
    java while循环Java while loop is used to execute a block of statements continuously till the given condition is true. Earlier we looked into java for loop. Java while循环用于连续执行语句块,直到给定...
  • Oracle的游标使用方法 三种循环 2017年03月31日 23:24:07 嶶風 阅读数:8664 标签: oracle 更多 个人分类: oracle 版权声明:本文为博主原创文章,未经博主允许不得转载。 ...
  • 本篇文章将通过实例来讲解一下存储过程中while循环、for循环、if判断、sql拼接、游标等用法
  • for、while循环使用   示例前提 模仿一个通用的学校的师生信息数据库,使用sql语句已经建好了如下表,表结构如下,数据自己随意啦: student 学生信息表: sno(学号) sname(姓名) ssex(性别) sage...
  • oracle pl sql while 循环

    2014-03-08 22:24:33
    然后用while循环来插入数据: DECLARE V_AGE TB_USER.USER_AGE%TYPE; V_NAME TB_USER.USER_NAME%TYPE; V_COUNT INTEGER:=0; BEGIN WHILE V_COUNT SELECT DBMS_RANDOM.value(1, 100) INTO V_AGE FROM DUAL; V_...
  • 对于oracle三种循环机嵌套if语句的使用 --sql developer的快捷代码提示为 Ctrl + alt + 空格 -- for循环 set serveroutput on; declare v_num number := 5; begin for i in 1..v_num loop dbms_output.put_line(i...
  • Oracle循环实现

    千次阅读 2018-08-24 09:59:45
    1.ORACLE中的GOTO用法 DECLARE x number; BEGIN x := 9; &lt;&lt;repeat_loop&gt;&gt; --循环点 x := x - 1; DBMS_OUTPUT.PUT_LINE(X); IF X &gt; 0 THEN GOTO repeat_loop; --当x的值...
  • while 循环java_Java做while循环

    千次阅读 2020-07-14 01:54:52
    while 循环javaJava do-while loop is used to execute a block of statements continuously until the given condition is true. The do-while loop in Java is similar to while loop except that the condition ...
  • Oracle的游标使用方法 三种循环

    万次阅读 2017-03-31 23:24:07
    可见for循环是比较简单实用的方法。 首先,它会自动open和close游标。解决了你忘记打开或关闭游标的烦恼。 其它,自动定义了一个记录类型及声明该类型的变量,并自动fetch数据到这个变量中。 我们需要注意v_pos 这个...
  • Oracle用三种循环方法输出乘法表,比如loop的用法: m := 1; loop n := 1; loop dbms_output.put(m||'*'||n||'='||m*n||' '); n := n + 1; exit when n > m; end loop; dbms_output.put_line(''); ...
  • 当程序需要反复执行某一操作时,就必须使用循环结构。PL/SQL 中的循环语句主要包括LOOP语句、WHERE语句和FOR语句3种。本篇博客主要讲解这三种用法及代码示例。 本篇博客主要围绕 基本语法、简单代码示例,以及实战上...
  • Oracle中的三种循环模式:Loop、For、While 希望对大家有帮助,更多资料请访问:Http://blog.sina.com.cn/livelouis
  • 需要大批量测试数据时可能会用到SQL批量新增的方法。 DO $$ DECLARE i INTEGER := 1; identityId BIGINT := 200000000001; BEGIN WHILE i < 100 LOOP identityId = identityId + 1; -- INSERT 语句 -- 将...
  • 一、Oracle判断 if(...) then PL/SQL语句; elsif(...) then ...二、Oracle循环 1. for循环 语法格式: for 变量 in [revers] 变量初值..变量循环结束值 loop ...... end loop; 示例1: for i in 1..10 l...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,828
精华内容 11,131
关键字:

oraclewhile循环用法