循环使用Oracle的方法
最编程
2024-01-08 18:39:08
...
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;
推荐阅读
-
了解并使用 JAVA 中的 set 和 get 方法
-
将 python 文件转换为 exe 文件的方法和使用细节
-
本地方法的 JNI 动态注册和 JNI 数据的使用
-
了解光纤常用工具及其使用方法的文章
-
使用 java 随机写入生成的姓名和身份证号码,根据这些信息写入一个方法,生成仅供用户测试使用的 base64 代码
-
HTML 字体标记的颜色属性是什么? fontcolor 使用方法介绍(附颜色代码表)
-
使用 Docker 更新容器映像的三种方法
-
猫和老鼠叉子的最佳用途是什么?了解玩家使用叉子的六种高级方法!
-
正确使用 GTD - 情境语境的分类方法
-
PX4 安装教程(七)几种常用遥控器的使用方法