SQL> declare
2 v_kpi varray_list;
3 v_result SYS_REFCURSOR;
4 begin
5 -- Call the procedure
6 p_web_sql_kpi(v_usr => 'LC',
7 v_ciset => '201104自行车赛',
8 v_date_begin => '2011-06-01',
9 v_date_end => '2011-06-01',
10 v_time_begin => '11',
11 v_time_end => '12',
12 v_kpi => varray_list('TRAFFIC_TCH','TRAFFIC_PD'),
13 v_startidx => 1,
14 v_endidx => 10,
15 v_result => :v_result);
16 end;
17 /
PL/SQL 过程已成功完成。
SQL> print v_result
RECTIME TRAFFIC_TCH TRAFFIC_PD RN
-------------- ----------- ---------- ----------
01-6月 -11 2113.579 1771.341 1
01-6月 -11 1906.53 1716.18 2
CREATE OR REPLACE PROCEDURE P_WEB_SQL_KPI(V_USR IN VARCHAR,
V_CISET IN VARCHAR,
V_DATE_BEGIN IN VARCHAR,
V_DATE_END IN VARCHAR,
V_TIME_BEGIN IN INT,
V_TIME_END IN INT,
V_KPI IN varray_list,
V_STARTIDX IN INT,
V_ENDIDX IN INT,
V_RESULT OUT SYS_REFCURSOR) AS V_SQL VARCHAR2(1000);
V_SQL1 VARCHAR2(1000);
V_EXIST INT;
BEGIN
......
OPEN V_RESULT FOR V_SQL1
USING V_ENDIDX, V_STARTIDX;
END;
分享到:
相关推荐
其中,一个重要的功能是能够创建返回游标类型的函数,这种函数允许用户从数据库中检索并返回一组记录,而非单一值。这在处理大量数据或需要遍历整个结果集的场景下极为有用。 ### 标题:“oracle10g 函数返回游标...
如果存储过程返回游标,我们需要声明一个`OUT`参数来接收。 4. **执行存储过程**:通过`pstmt.execute()`执行存储过程。这将打开一个游标,我们可以从游标中获取结果。 5. **处理游标结果**:使用`...
在Oracle数据库中,存储过程是预编译的SQL语句集合,它们可以接受输入参数、输出参数,甚至返回游标。游标是一种用于处理查询结果集的机制,它允许我们一次处理一行数据。在实际的项目开发中,我们常常需要在一个...
这里使用了`CallableStatement`来执行存储过程,因为它可以处理返回游标的存储过程调用。`registerOutParameter`方法用于声明第1个参数为输出参数,并指定其类型为`OracleTypes.CURSOR`。执行存储过程后,我们通过`...
在Java编程中,调用Oracle数据库的存储过程并处理返回的游标是一项常见的任务。Oracle存储过程可以封装复杂的业务逻辑,而游标则用于在结果集上进行迭代,特别是当结果集太大,不适合一次性加载到内存时。下面将详细...
特别注意,游标类型的参数需设置`OracleDbType`为`Cursor`,并设置`Direction`为` ParameterDirection.Output`。 以下是一个C# Winform示例代码片段: ```csharp using Oracle.ManagedDataAccess.Client; // 建立...
以下是一个简单的示例代码片段,演示了如何调用一个返回游标的Oracle存储过程: ```java import oracle.jdbc.OracleCallableStatement; import oracle.jdbc.OracleResultSet; try (Connection conn = ...
本篇文章将详细讲解如何利用JDBC调用存储过程、函数以及处理游标。 首先,存储过程是数据库中预编译的一组SQL语句,它允许我们封装复杂的业务逻辑,提高执行效率,减少网络传输的数据量。在JDBC中调用存储过程通常...
本教程主要关注的是带游标参数的存储过程,这是一种高级用法,允许在存储过程中处理多条记录,特别适用于需要逐行处理数据的情况。 首先,我们要理解存储过程的基本概念。存储过程可以包含变量声明、条件判断、循环...
Oracle存储过程返回游标是一种常见的数据处理方式,它允许开发者在存储过程中执行SQL查询并返回结果集,供调用者进一步处理。游标在数据库编程中扮演着重要角色,尤其在处理多行记录时,提供了灵活的数据遍历手段。...
在PL/SQL中,声明一个Out类型的游标变量,然后在存储过程中打开这个游标执行查询,最后在调用者中通过这个游标变量获取数据。例如: ```sql CREATE OR REPLACE PROCEDURE get_data ( cursor_out OUT SYS_REFCURSOR...
存储过程是一组预先编写并编译好的SQL语句集合,它可以接收输入参数,执行一系列复杂的数据库操作,并返回结果。 **3.1 基本概念** 存储过程的优点包括: - **提高性能**:预编译过的存储过程执行速度更快。 - **...
游标声明时,定义了其返回的数据类型(`emp%rowtype`),这使得游标能够处理`emp`表中的完整行记录。在`BEGIN`和`END`之间,通过`FOR`循环与游标配合,我们可以逐条处理并输出查询结果。 接下来,我们创建了一个名...
在报表解释程序中,调用这个返回游标的函数,可以遍历游标获取每一行数据,动态构建报表内容。这样,即使泵的数量和单位的变化,只需调整函数内的查询逻辑,而无需改动报表生成的底层结构。 总结来说,Oracle函数...
存储过程可以在数据库中创建、修改或删除,它们可以接受输入参数并可选地返回输出参数。 存储过程和函数的创建通常需要具备一定的权限,且创建之后可以调用执行。存储过程的调用可以通过SQL语句执行,也可以在应用...
存储过程可以接受参数,返回结果集,甚至可以包含控制流语句(如IF-ELSE和WHILE循环),使其能够处理复杂的业务逻辑。 触发器则是一种特殊的存储过程,它在特定的数据库事件发生时自动执行,如INSERT、UPDATE或...
Delphi 中调用 Oracle 的存储过程返回数据集 Delphi 中调用 Oracle 的存储过程返回数据集是指在 Delphi 应用程序中调用 Oracle 数据库中的存储过程,并将存储过程的返回结果集显示在 Delphi 应用程序中。这种方式...
存储过程可以接受参数,返回结果集,甚至能够处理异常。这种封装性使得代码更易于管理和维护,同时减少了网络传输的开销。例如,一个存储过程可能用于处理用户的注册流程,包括验证用户名、密码,插入新用户记录等...