良许Linux教程网 干货合集 详解Oracle的for循环

详解Oracle的for循环

本篇文章重点为大家讲解一下Oracle的for循环适用方法, 有需要的小伙伴可以参考一下。

image-20220903210055329

一些技巧

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;

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部