zoukankan      html  css  js  c++  java
  • 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;
    
  • 相关阅读:
    Android Studio 开发
    Jsp编写的页面如何适应手机浏览器页面
    电影
    Oracle 拆分列为多行 Splitting string into multiple rows in Oracle
    sql server 2008 自动备份
    WINGIDE 激活失败
    python安装 错误 “User installations are disabled via policy on the machine”
    ble编程-外设发送数据到中心
    iOS开发-NSString去掉所有换行及空格
    ios9 字符串与UTF-8 互相转换
  • 原文地址:https://www.cnblogs.com/taadis/p/12149148.html
Copyright © 2011-2022 走看看