- 浏览: 255518 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (217)
- java 基础 (36)
- flex (1)
- structs 2.0 (5)
- oracle 学习过程 (20)
- j2ee (63)
- c/s java (0)
- javaScript (24)
- jdom (1)
- jquery (1)
- java模式 (1)
- Datebase common konwledge (3)
- JfreeChart (3)
- html (3)
- sql server (6)
- tomcat servlet (4)
- lucene (1)
- Linux (3)
- 常见注意 (6)
- hibernate (2)
- jsp页面 (3)
- effective Java (1)
- spring (2)
- Spark (1)
- json (0)
- JMS (1)
- 电脑故障 (2)
- mysql (1)
- JBPM (2)
- java 线程 (1)
- oracle优化 (1)
- 安全 (1)
- hadoop (0)
- 算法 (1)
- hbase (0)
最新评论
-
mfhappy:
你好,你这个导出的文件中如果有图片你怎么处理??
jsp 导出excel(利用excel本身另存为html) -
丹寺丁:
...
jquery 解析 java 后台的 json数据 -
xurichusheng:
不直接诶生成想要的对象,而是让客户端利用所有必要的参数 ...
重叠构造器、Builder模式 -
wen121221222:
感谢啊!困恼我一个下午的问题终于解决了
java.lang.NoClassDefFoundError: javax/mail/Authenticator异常 -
gaoyanglovejava:
不错。就是这么解决的。多谢
The project is not a myEclipse hibernate project
.基本结构
CREATE OR REPLACE PROCEDURE 存储过程名字
(
参数1 IN NUMBER,
参数2 IN NUMBER
) AS
变量1 INTEGER :=0;
变量2 DATE;
BEGIN
END 存储过程名字;
2.SELECT INTO STATEMENT
将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条
记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)
例子:
BEGIN
SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx;
EXCEPTION
WHEN NO_DATA_FOUND THEN
xxxx;
END;
...
3.IF 判断
IF V_TEST=1 THEN
BEGIN
do something
END;
END IF;
4.while 循环
WHILE V_TEST=1 LOOP
BEGIN
XXXX
END;
END LOOP;
5.变量赋值
V_TEST := 123;
6.用for in 使用cursor
...
AS
CURSOR cur IS SELECT * FROM xxx;
BEGIN
FOR cur_result in cur LOOP
BEGIN
V_SUM :=cur_result.列名1+cur_result.列名2;
END;
END LOOP;
END;
7.带参数的cursor (非参数的cursor 也可以用open)
CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID;
OPEN C_USER(变量值);
LOOP
FETCH C_USER INTO V_NAME;
EXIT FETCH C_USER%NOTFOUND;
do something
END LOOP;
CLOSE C_USER;
create or replace procedure test1(day1 in number) AS rq date; selectsql varchar2(2000); cursor cur is select cjrq from appsys_bmxx where extract(day from cjrq)<10; BEGIN open cur; loop fetch cur into rq; exit when cur%notfound; dbms_output.put_line(rq); end loop; close cur; end test1;
8.用pl/sql developer debug
连接数据库后建立一个Test WINDOW
在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试
关于oracle存储过程的若干问题备忘
select a.appname from appinfo as a;-- 错误
select af.keynode from APPFOUNDATION af where af.appid=aid and af.foundationid=fid;-- 没有into,编译报错,提示:Compilation
Error: PLS-00428: an INTO clause is expected in this SELECT statement
select af.keynode into kn from APPFOUNDATION af where af.appid=appid and af.foundationid=foundationid;-- 运行阶段报错,提示
ORA-01422:exact fetch returns more than requested number of rows
id varchar2(50) primary key not null,
vcount number(8) not null,
bid varchar2(50) not null -- 外键
);
fcount:=0;
end if;
new HibernateCallback() ...{
public Object doInHibernate(Session session)
throws HibernateException, SQLException ...{
CallableStatement cs = session
.connection()
.prepareCall("{call modifyapppnumber_remain(?)}");
cs.setString(1, foundationid);
cs.execute();
return null;
}
});
转自 他人博客,另加自己修改的一丁点。
发表评论
-
oracle for loop 用法
2013-04-27 16:52 1210Oracle存储过程for用法,每500条提交一次。 cr ... -
oracle 日期/时间函数
2011-11-07 18:29 1358摘自他出,只为学习。 Oracle关于时 ... -
oracle start with....connect by oracle树
2011-04-22 10:27 1017ORACLE 提供了一个有趣的 ... -
package and package body
2011-02-22 11:34 1079创建包 create or replace pa ... -
oracle 安全
2010-10-14 09:45 6351。当 登陆Oracle 时 用 userName/pwd ... -
卸载Oracle
2010-10-11 13:02 9016.1: 开始->设置->控制面板->管理工具->服 ... -
instr 函数应用
2010-08-28 08:47 891在Oracle中,可以使用instr函数对某个字符串进行判 ... -
keep ()函数
2010-08-10 10:08 1029select wzbm,max(dzrq) keep(dens ... -
decode 函数 行变列
2010-08-09 20:06 881http://blog.163.com/zjp8862@12 ... -
Oracle 游标
2010-08-04 12:29 810create or replace procedure pro ... -
over函数
2010-07-27 10:56 733<!--StartFragment --> h ... -
oracle 命令行
2010-06-30 11:56 9271.登陆 cmd -sqlplus syste ... -
Oracle 存储过程
2010-05-10 17:41 913create or replace procedure myp ... -
Oracle 触发器
2010-05-10 16:51 764create table zjp_test ( name ... -
Oracle死锁
2010-05-03 11:18 841公司的DBA不在,发现处理数据库问题真的是一件头痛的事情,数据 ... -
oracle 和tomcat 8080 端口重复问题
2010-04-12 13:12 1162遇见一个tomcat 和 Oracle 8080端口重复的问 ... -
工作中的一个列子
2010-04-06 17:23 807有两张表 A表 -------------- ... -
基础的语句
2010-03-22 13:33 8601,alter table tableName add co ... -
表和字段的注释
2010-02-06 21:33 8811、给表加注释COMMENT ON TABLE land.la ...
相关推荐
"Oracle存储过程游标详解" Oracle 存储过程游标是指在 Oracle 数据库中使用游标来实现对结果集的处理和操作。游标可以分为静态游标和REF游标两种类型。静态游标是指结果集已经确实(静态定义)的游标,可以进一步...
### Oracle 存储过程与游标使用...通过以上分析,我们可以看到Oracle存储过程与游标的应用十分广泛,不仅能够提升开发效率,还能增强系统的稳定性和安全性。熟练掌握这些技术对于数据库管理员和开发人员来说至关重要。
### Oracle存储过程、游标、函数的详解 #### 一、概述 在Oracle数据库中,存储过程、游标和函数是非常重要的组成部分,它们为数据库管理提供了强大的编程能力。通过学习这些概念,我们可以更加灵活地管理和操作...
Oracle 存储过程调用 CallabledStatement 实用例子(IN OUT 传游标) 一、Oracle 存储过程简介 Oracle 存储过程是一种可以在 Oracle 数据库中存储和执行的程序单元。存储过程可以由多种语言编写,例如 PL/SQL、...
Oracle存储过程可以封装复杂的业务逻辑,而游标则用于在结果集上进行迭代,特别是当结果集太大,不适合一次性加载到内存时。下面将详细介绍如何在Java中实现这一功能。 首先,确保你已经在Oracle数据库中创建了包含...
存储过程 游标 oracle 存储过程 游标 oracle 存储过程 游标 oracle 存储过程 游标 oracle
Oracle 教案:深入理解 Oracle 存储过程、游标与 SQL 语句及 PL/SQL Oracle 是全球领先的数据库管理系统提供商,不仅提供数据库产品,还包括中间件、云计算服务等全面的企业级解决方案。"Oracle"一词源于古希腊神话...
### Groovy将JDBC中Oracle存储过程游标转换为多层JSON 在本文档中,我们将探讨如何使用Groovy脚本结合JDBC技术从Oracle存储过程中获取数据,并将其转换为多层JSON格式。该方法特别适用于需要从XML输入中提取数据并...
本文将深入探讨如何在Oracle存储过程中使用游标进行多表操作,具体通过一个示例来展示这一过程。 ### 标题与描述分析 标题:“oracle存储过程使用游标对多表操作例子”直接指出了文章的主题是关于在Oracle环境下,...
本主题将深入探讨Oracle中的几个核心概念:函数、存储过程、游标以及简单的实例,这些都是数据库管理员和开发人员日常工作中不可或缺的部分。 首先,我们来了解**Oracle函数**。函数是预定义的代码块,接受零个或多...
Oracle存储过程中的游标是数据库操作中非常重要的一个概念,特别是在处理批量数据或者需要逐行处理查询结果时。游标允许我们动态地控制查询结果集,逐行读取和操作数据,而不需要一次性加载所有结果。以下是关于...
在Oracle数据库中,游标(Cursor)是一种非常重要的概念,特别是在编写存储过程和函数时。游标允许我们处理单行或多行数据集,一次处理一行,这样可以进行精细化的数据操作。在本篇讨论中,我们将深入理解Oracle游标...
本篇文章将深入探讨如何使用Java调用Oracle存储过程,并通过游标获取存储过程中返回的临时表数据。 首先,Oracle存储过程是一种在数据库端执行的预编译SQL语句和PL/SQL代码集合。它可以接收参数、执行业务逻辑并...
Oracle存储过程中的“Out”游标是数据库编程中一种常用的技术,主要用于在PL/SQL块中返回结果集到调用者。在这个场景中,我们有三个文件:TESTPACKAGE.txt,CURSOR_TEST2.txt和OracleProcedure.java,分别涉及Oracle...
存储过程中通过返回数据集,通过游标方式实现,以及在java中如何接收的整个过程
在本例中,“Oracle存储过程实例使用显示游标”着重展示了如何在存储过程中调用函数,并通过游标来处理和更新数据。 首先,我们需要了解存储过程的基本结构。一个存储过程通常包含以下部分: 1. **声明部分**:在...
本文将深入探讨如何使用Java来调用Oracle存储过程,特别是涉及游标的场景。 首先,Oracle存储过程是一种预编译的SQL和PL/SQL代码块,可以在数据库服务器端执行,提供了一种封装业务逻辑的方式。而游标(Cursor)在...
`FETCH`语句将游标当前行的数据存储在变量`l_emp`中,而 `%NOTFOUND`属性用于检查是否还有更多行可提取。 - **隐式游标**:ORACLE自动管理的游标,通常在执行DML语句(如UPDATE、INSERT、DELETE)时使用。例如,当...