我们在Oracle存储过程中需要遍历一张表,应该怎样做。我想大多少的人第一个念头就是Cursor。
比如:
create or replace procedure StudyCursor(
resulst out integer
) is
v_tablename varchar(30);
v_tabletype varchar(11);
cursor mycursor is select * from cat;
begin
open mycursor;
loop
fetch mycursor into v_tablename,v_tabletype;
null; --you can use tablename and v_tabletype
end loop;
close mycursor;
end StudyCursor;
最近在看代码是,发现其实我们还有一个更方便的方法就是使用for in loop … end loop
create or replace procedure StudyFor(
resulst out integer
) is
begin
for emm in(select * from cat) loop
null; --you can use emm.table_name and emm.table_type
end loop;
return ;
end StudyFor;
是不是更方便,我要使用的查询结果,只需使用emm.table_name和emm.table_type即可。
查找了Oracle的官方文档,似乎没有看见for loop的此种用法。确实很奇妙,只是不知道oracle内部具体的实现方法。
分享到:
相关推荐
### Oracle PL/SQL For Loop 循环:求素数 在Oracle PL/SQL中,循环是处理重复性任务的关键机制之一。本篇文章将详细介绍如何利用PL/SQL中的三种不同类型的循环(`LOOP`、`FOR` 和 `WHILE`)来实现一个简单的应用...
本文将详细介绍如何在SQL Server上安装Oracle Provider for OLE DB驱动,以便创建与Oracle数据库的连接服务器。 首先,Oracle Provider for OLE DB是一种数据提供程序,它允许SQL Server或其他支持OLE DB的应用程序...
在Java编程中,有时我们需要调用Oracle数据库的存储过程,特别是当存储过程返回一个游标(Cursor)时,这种情况在处理大量数据或者分页查询时很常见。游标允许我们逐行处理结果集,而无需一次性加载所有数据,这对于...
**SQL SERVER与ORACLE集成:安装ORACLE Provider for OLE DB连接服务驱动** 在Microsoft SQL Server环境中,有时候我们需要与其他数据库系统,如Oracle,进行数据交互。为了实现这一点,可以借助Oracle提供的OLE DB...
Oracle 10g 中用 FORALL 处理非连续数组 Oracle 10g 中的 FORALL 语句可以处理非连续数组,这种能力在以前的版本中是不存在的。在 Oracle 10g 中,FORALL 语句可以使用 INDICES OF 和 VALUES OF 子句来处理非连续...
Oracle 10g 第 2 版 ODAC 和 Oracle Developer Tools for Visual Studio .NET 下载文件 ODTwithODAC1020221.exe 235 MB(247,296,458 字节) ODAC 安装说明 Oracle Developer Tools For Visual ...
cursor_name CURSOR FOR SELECT column1, column2 FROM table_name WHERE condition; ``` - 打开:使用OPEN语句打开游标,准备开始处理结果集。 ```sql OPEN cursor_name; ``` - 提取:使用FETCH语句提取当前行的...
本篇文章将深入探讨Oracle中的JOB、PROCEDURE(存储过程)和CURSOR(游标)的使用,这些是Oracle数据库开发中的核心概念。 首先,我们来看Oracle中的JOB。JOB是一种调度工具,允许用户在特定时间或间隔执行数据库...
Oracle中的三种循环用法(Loop、For、While) Oracle中的循环语句是PL/SQL语言中的一种基本结构,用于重复执行某些语句,以达到某些目的。下面将详细介绍Oracle中的三种循环用法:Loop、For、While。 Loop 循环 ...
Oracle用三种循环方法输出乘法表,比如loop的用法: m := 1; loop n := 1; loop dbms_output.put(m||'*'||n||'='||m*n||' '); n := n + 1; exit when n > m; end loop; dbms_output.put_line(''); ...
Oracle中用sql语句创建数据库,比较长,一般做了解
Oracle Developer Tools for Visual Studio 2019( ODT for VS 2019 19.3.0.0.0 (12 MB)) Download ODT for VS 2019, extract and run the VSIX file to install Oracle Developer Tools for Visual Studio 2019 ...
`cursor_space_for_time`参数则是关于游标在内存中存储时间的配置,它影响了游标何时被回收到内存池。 解决`ORA-01000`错误的最佳实践是优化代码,确保游标在使用完毕后及时关闭。此外,检查并调整`OPEN_CURSORS`...
Oracle Objects for OLE Oracle Objects for OLE (OO4O) is a product designed to allow easy access to data stored in Oracle databases using any programming or scripting language that supports the ...
Important: Before you install this package please make sure there is no ODAC/Oracle Universal Installer (OUI) version of Oracle Developer Tools for Visual Studio installed on the machine. If there is ...
在Oracle数据库中,游标(Cursor)是一种处理单条记录的数据对象,常用于循环执行SQL语句。当一个PL/SQL块或者存储过程执行一个SELECT语句时,Oracle会隐式或显式地打开一个游标来处理结果集。`DISPLAY_CURSOR`脚本...
恢复oracle中用pl_sql删除的表