- decalre
-
- var1 number(2);
- var2 char(2) := '11';
-
- begin
-
- end;
- if a = 1 or b = 2 then
-
- elsif c = 3 then
-
- else
-
- end if;
for循环主要有两个用处。
1、 循环一个范围
格式:for i in [start .. end] loop ... end loop;
- for i in 0..9 loop
- dbms_output.put_line('i:' || i);
- end loop;
2、遍历隐式游标
隐式游标的好处是不需要手动关闭,方便
- for currow in (
- select t.col1, t.col2
- from tableName t
- where ...
- ) loop
- if currow.col1 = 0 then
- return;
- end if;
- end loop;
- isok := 9;
- while isok >= 0 loop
- isok := isok - 1;
-
- if isok = 8 then
- continue;
- end if;
-
- if isok = 4 then
- exit;
- end if;
-
- dbms_output.put_line('isok:' || isok);
- end loop;
-
- dbms_output.put_line('outside while loop .');
- create or replace procedure sp_name (
-
- uid in varchar2,
- startDate in date,
- defaultVar in varchar2 default "",
- isok out number,
- result out varchar2
- )
- as
-
- var1 varchar2(11);
- var2 number(2) := 123;
-
- begin
-
- dbms_output.put_line('isok:' || 'abc');
-
-
- sub_sp_name(param1, prarm2, outParam1, outParam2);
-
- end;
- create or replace function func (
-
- uid in varchar2,
- startDate in date,
- defaultVar in varchar2 default "",
- isok out number,
- result out varchar2
- )
- return number
- as
-
- var1 varchar2(11);
- var2 number(2) := 123;
-
- begin
-
- dbms_output.put_line('isok:' || 'abc');
-
-
- return ret_val;
- end;
1、两者定义类似,都可以带输入输出参数。
2、函数有返回值,存储过程没有。
3、函数的调用要在select语句里;而存储过程不用,可以独立调用。
隐式游标
隐式游标的好处是不需要手动关闭,方便
- for currow in (
- select t.col1, t.col2
- from tableName t
- where ...
- ) loop
- if currow.col1 = 0 then
- return;
- end if;
- end loop;
显式游标
- declare
- isok integer;
- v_event_id number(10);
- v_isagain number(2);
- v_rate number(2);
-
- v_sender char(11) := '13800138000';
-
- cursor cursorVar is select event_id, isagain, rate from call_event where sender = v_sender;
-
-
- begin
- open cursorVar;
- loop
- fetch cursorVar into v_event_id, v_isagain, v_rate;
- exit when cursorVar%notfound;
- dbms_output.put_line(v_event_id || ', ' || v_isagain || ', ' || v_rate);
- end loop;
-
- close cursorVar;
-
-
-
-
-
-
- end;
带参数游标
- declare
- isok integer;
- v_event_id number(10);
- v_isagain number(2);
- v_rate number(2);
-
- v_sender char(11) := '13800138000';
-
- cursor cursorVar(p_sender varchar2) is select event_id, isagain, rate from call_event where sender = p_sender;
-
- begin
- open cursorVar(v_sender);
- loop
- fetch cursorVar into v_event_id, v_isagain, v_rate;
- exit when cursorVar%notfound;
- dbms_output.put_line(v_event_id || ', ' || v_isagain || ', ' || v_rate);
- end loop;
-
- close cursorVar;
- end;
【转载】http://wen866595.iteye.com/blog/1733887
分享到:
相关推荐
1.查询时间段内执行的sql、Produce select * from v$sqlarea a where 1=1 and a.LAST_ACTIVE_TIME >= to_date( '2013-02-21 18:23:00','yyyy-MM-dd HH24:mi:ss') and a.LAST_ACTIVE_TIME < to_date( '2013-...
前言 最近在修复一个比较老的项目报表的bug的时候,因为对该项目不太熟悉,导致生产环境数据修改有误,于是求助导师帮忙回滚数据,现学习一下Oralce数据回滚以备不时之需。 查看某个时间点的表的数据 ...
2. 在安装向导中选择基本安装,并设定Oracle主目录,例如D:\oracle\produce\10.2.0\db_1。 3. 取消“创建启动数据库”的选中状态,继续下一步。 4. 完成产品特定的先决条件检查,确保所有检查项都通过。 5. 接着开始...
Now in its third edition, this best-selling book continues to bring you some of the best thinking on how to apply Oracle Database to produce scalable applications that perform well and deliver correct...
例如,在本例中选择了 `D:\oracle\produce\10.2.0\db_1`。 3. **取消创建数据库**:在安装选项中,需要取消“创建启动数据库”的勾选,因为集群中的数据库将在后续步骤中统一创建。 4. **产品特定的先决条件检查...
在"mybatis自动生成实例支持oracle和MySQL"的场景中,我们可以理解为该压缩包包含了一个能够帮助开发者自动生成针对Oracle和MySQL数据库的相关代码的工具或教程。 1. **MyBatis自动化工具**: MyBatis Generator ...
Oracle 10g函数大全是数据库管理员和开发人员在处理Oracle数据库时不可或缺的参考资料。Oracle数据库提供了丰富的内置函数,用于数据处理、计算、查询优化等多个方面。这些函数极大地提升了SQL语句的功能性和效率,...
- 选择基本安装模式,并指定Oracle主目录为`D:\oracle\produce\10.2.0\db_1`,取消“创建启动数据库”的选项,继续下一步。 - 完成产品特定的先决条件检查,当检查成功后,继续安装。 - 程序开始安装,等待安装...
- **Produce-Specific Prerequisite Checks**:进行产品特定的预检查,确保系统满足安装要求。 - **Privileged Operating System Groups**:配置特权操作系统组,如`dba`和`oper`。 - **Summary**:查看安装摘要...
Produce feature rich web applications in APEX 4 2 Create smartphone applications using jQuery Mobile Use HTML5 and CSS3 in APEX Generate RESTful web services Working with the latest available plug in ...
oracle存储过程中,实现成绩分段显示人数,produce中带三个传入参数:起始分数(例如0),总分(例如100),分数间隔(例如10)。一个返回参数为游标,用来返回结果集。
根据提供的文件信息,我们可以深入探讨Oracle 1Z0-053 V13.02考试中的几个关键知识点。此考试主要围绕Oracle Database 11g的管理与配置展开,涵盖了数据库性能调优、自动任务调度等多个方面。下面将详细解释题目中...
Now in its second edition, this best-selling book by Tom Kyte of Ask Tom fame continues to bring you some of the best thinking on how to apply Oracle Database to produce scalable applications that ...
Now in its third edition, this best-selling book continues to bring you some of the best thinking on how to apply Oracle Database to produce scalable applications that perform well and deliver correct...
在"Produce.cst"这个文件中,可能包含了用于生成存储过程的模板定义。 2. **连接数据库**:在CodeSmith中,你需要配置数据库连接信息,包括数据库服务器、数据库名、用户名和密码,以便访问Oracle数据库并获取表的...
在提供的压缩包中,"Produce.cst"可能是一个自定义的类文件,实现了对存储过程的封装。这个类可能包含了一系列方法,每个方法对应一个特定的存储过程,用户可以通过这些方法直接调用存储过程,而不必关心SQL语句的...
OpenGrok是一个开源的代码搜索和浏览工具,最初由Sun Microsystems开发,后来被Oracle公司维护。OpenGrok不仅可以帮助开发者快速查找代码,还能提供代码变更历史等信息,这对于理解和维护大型项目至关重要。 通过对...
Oracle's JD Edwards EnterpriseOne One View Reporting provides an intuitive, easy-to-use method for you to access data and produce reports with Oracle BI Publisher.
@confusion as there are several tools now within Oracle that share this same name. OSWbb now provides an analysis tool OSWbba which analyzes the log files produced by OSWbb. This tool allows OSWbb to ...