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;
Oracle for 循环的更多相关文章
- oracle学习--循环语句
oracle学习--循环语句 loop循环: create or replace procedure pro_test_loop is i number; begin i:=0; loop i:=i ...
- oracle游标循环的嵌套
完成批量修改user_tables中的所有表的栏位名(从MS SQL导入过来,发现大小写问题,造成很多麻烦) 存储过程见下: -- Created on 2012/3/14 by FREE decla ...
- Oracle 如何循环查询结果集,进行新增或修改
Oracle的PL/SQL中怎样循环查询的结果集,然后根据查询结果进行判断,是新增或修改操作 loop循环例子 for item in (select a,b,c from table_a where ...
- 四、Oracle loop循环、while循环、for循环、if选择和case选择、更改读取数据、游标、触发器、存储过程
数据库的设计(DataBase Design): 针对于用户特定的需求,然后我们创建出来一个最使用而且性能高的数据库! 数据库设计的步骤: 01.需求分析 02.概念结构设计 03.逻辑结构设计 04 ...
- Oracle的循环和Corsor
这两天啊有一个心的业务,是须要假设我批量改动数据的话,那么还有一张表的数据也须要改动.也是多条的改动,发现这个问题的时候.自然而然的想到了触发器,可是曾经都是简单的单条语句的跟新,没有过整个表的去做一 ...
- oracle for循环查找结果
-- Call the procedure begin ' ) loop dbms_output.put_line('v_rlt = '||v_rlt.ID||v_rlt.inspection_no) ...
- Oracle游标循环更新数据案例
declare v_XTXMBH number; v_ZJZJZJRQ varchar2(40); cursor c_job is SELECT XT.XTXMBH AS XTXMBH, QJ.ZJZ ...
- Oracle游标-循环查询表中数据(表名),并执行
Oralce 表中存有一个字段,该字段存储表名,要把该表中的所有表名查询出来(即表名结果集),且执行结果集from 表名结果集: declare v_ccount ); --定义一个游标变量 curs ...
- Oracle loop循环无法插入数据
以下的测试基于scott用户下的emp表 首先用while循环进行测试,向emp表插入999条数据 declare i emp.empno; begin loop insert into emp(em ...
- oracle中循环读出一个表的信息插入到另外一个表中
declare cursor TAGENTMENUd is select * from TAGENTMENU where 1=1; -- 获取游标begin --遍历查询出的表 (注意 tn是整条记录 ...
随机推荐
- Solution Set - “卷起击碎定论的漩涡”
目录 0.「CF 1788F」XOR, Tree, and Queries 1.「CF 1815F」OH NO1 (-2-3-4) 2.「CF 1787F」Inverse Transformation ...
- 《CUDA编程:基础与实践》读书笔记(5):统一内存编程
统一内存(unified memory)是一种逻辑上的概念,它既不是显存.也不是主机内存,而是CPU和GPU都可以访问并能保证一致性的虚拟存储器.使用统一内存对硬件有较高的要求: 对于所有功能,GPU ...
- 让 LLM 来评判 | 基础概念
基础概念 这是 让 LLM 来评判 系列文章的第一篇,敬请关注系列文章: 基础概念 选择 LLM 评估模型 设计你自己的评估 prompt 评估你的评估结果 奖励模型相关内容 技巧与提示 什么是评估模 ...
- cookie和session的详解与区别-copy
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...
- springboot整合security实现权限控制
1.建表,五张表,如下:1.1.用户表CREATE TABLE `t_sys_user` ( `user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT ...
- Golang-web编程
https://www.w3cschool.cn/yqbmht/7rcvwcqm.html 第一章 Go环境配置 欢迎来到Go的世界,让我们开始探索吧! Go是一种新的语言,一种并发的.带垃圾回收的. ...
- shell脚本中的逻辑判断
shell脚本中也可以实现逻辑判断. 案例4:shell脚本中的逻辑判断 如果你学过C或者其他语言,相信你不会对if 陌生,在shell脚本中我们同样可以使用if逻辑判断.在shell中if判断的基本 ...
- https证书一键自动续期,帮你解放90天限制
前言 前几天网站证书到期,发觉证书颁发每次只能90天有效期,这谁能忍受,于是乎发觉网上有免费的一键续期脚本,真正解放我们的双手.项目如下acme.sh. 期间由于"墙"的原因,踩了 ...
- 记一次 .NET某数字化协同管理系统 内存暴涨分析
一:背景 1. 讲故事 高级调试训练营里的一位朋友找到我,说他们跑在linux上的.NET程序出现了内存泄露的情况,上windbg观察发现内存都是IMAGE给吃掉了,那些image都标记了 doubl ...
- 接口性能测试---locust脚本编写(一)
本文分享自天翼云开发者社区<接口性能测试---locust脚本编写(一)>,作者:丁****乐 一.安装 locust是用python编写的一款开源接口性能测试工具,以python3为例, ...