• Oracle for 循环


    Oracle for in loop 循环的一些实例,以作学习和加强使用熟练度及场景应用.

    一些技巧

    • for 语句后面的 loop end loop 可以类比成 c#/java 等编程语言 for 语句后面的语句块符号(花括号{}), 以便理解和使用.

    一些实例

    循环输出数值

    -- 循环输出数值
    begin
      for i in 1 .. 100 loop
        sys.dbms_output.put_line(i);
      end loop;
    end;
    

    循环累加

    -- 循环累加
    declare
      var_sum number := 0;
    begin
      for i in 1 .. 100 loop
        var_sum := var_sum + i;
      end loop;
      sys.dbms_output.put_line(var_sum); -- 5050
    end;
    

    批量插入

    -- 批量插入
    begin
      for i in 1 .. 100 loop
        -- todo: insert into some_table(field1, field2, ..., fieldN) values(valie1, value2, ..., valueN);
        sys.dbms_output.put_line('insert: ' || to_char(i));
      end loop;
      commit;
      sys.dbms_output.put_line('多次insert,统一commit');
    end;
    

    批量更新

    -- 批量更新
    begin
      for i in 1 .. 100 loop
        -- todo: update some_table set fieldN = valueN where fieldN = valueN;
        sys.dbms_output.put_line('update: ' || to_char(i));
      end loop;
      commit;
      sys.dbms_output.put_line('多次update,统一commit');
    end;
    

    循环输出用户表信息

    -- 查询你能管理的所有用户信息
    select user_id, username, created from all_users;
    
    -- 循环输出用户表信息
    begin
      for cur_row in (select user_id, username, created from all_users) loop
        sys.dbms_output.put_line(cur_row.username);
      end loop;
    end;
    -- 当循环对象是比较长串的SQL时,建议提取游标,方便后续查看和维护
    

    循环输出用户表信息(游标提取)

    -- 循环输出用户表信息(游标提取)
    declare
      -- 提取游标对象,方便单独维护SQL
      cursor cursor_all_users is
        select user_id, username, created from all_users;
      -- 游标子项(更多的时候,表是动态表,所以这句声明也可以省略)
      -- cursor_user all_users%rowtype;
    begin
      for cursor_user in cursor_all_users loop
        dbms_output.put_line(cursor_user.username);
      end loop;
    end;
    
  • 相关阅读:
    数据库特性之原子性和一致性
    [linux] 输出重定向与后台运行
    shell编程其实真的很简单(一)
    Java8中的流操作-基本使用&性能测试
    Hadoop到底是干什么用的?
    为什么要有文件系统?文件系统都有哪些种类?
    MySQL insert value与values
    MySQL create语句
    fiddler抓包-简单易操作(二)
    jmeter文件目录说明(一)
  • 原文地址:https://www.cnblogs.com/taadis/p/12149148.html
走看看 - 开发者的网上家园