1.基本结构
CREATE OR REPLACE PROCEDURE 存储过程名字
(
参数1 IN 数据类型,
参数2 IN 数据类型
) IS | AS
变量1 数据类型; -- 定义变量,等于符号是 := 可给定默认值
变量2 数据类型;
BEGIN
--存储过程的业务(你想要做的事)
END 存储过程名字
2.SELECT INTO STATEMENT
将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)
例子:
BEGIN
select col1,col2 into 变量1,变量2 FROM 表名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
CREATE OR REPLACE PROCEDURE TEST(name in number)
IS
CURSOR cur IS select * FROM xxx; --这里是定义一个游标,把查询结果放入游标中,
--游标就象指针
BEGIN
FOR cur_result in cur LOOP
BEGIN
V_SUM :=cur_result.列名;
END;
END LOOP;
END;
例:
CREATE OR REPLACE PROCEDURE TEST(name in number)
is
V_SUM varchar2(200);
cursor cur is select * from LAD_USER;
BEGIN
for V_RESULT in cur LOOP
BEGIN
V_SUM := V_RESULT.User_Name;
END;
end LOOP;
DBMS_OUTPUT.put_line(V_SUM); --输出命令
END TEST;
7.带参数的cursor
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;
8.用pl/sql developer debug
连接数据库后建立一个Test WINDOW
在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试
9调用存储过程 call 存储过程名(参数列表);
分享到:
相关推荐
文件是本人oracle10g分区表自动按时间创建、删除分区的存储过程,测试代码,通过job调用存储过程,每天午夜12点运行一次。妥妥!跟大家分享下!
Oracle.ManagedDataAccess还支持存储过程调用、事务处理、参数化查询等功能,满足复杂的数据库操作需求。 总之,Oracle11g的Managed Data Access驱动提供了一种高效且便捷的方式来连接.NET应用程序和Oracle数据库,...
总之,"Oracle触发器实时调用Java中HTTP接口"是一个数据库与应用程序实时通信的示例,涉及Oracle的触发器、存储过程和UTL_HTTP包,以及Java HTTP服务器的设计和实现。这样的设计需要对Oracle PL/SQL和Java网络编程有...
本文将详细介绍 Oracle 调用 Webservice 的实现过程,包括 Webservice 的基本概念、 Java 编写简单的 WebService 实例、Oracle 服务器端配置、加载 JAR 包、测试调用 PHP Webservice 和 Java Webservice 等内容。...
在这个过程中,我们将详细探讨如何在Linux环境下创建一个Oracle 10g数据库,同时结合截图演示,使理解更为直观。 首先,确保你已经在Linux系统上安装了Oracle 10g的软件包。这通常包括两个主要部分:Oracle ...
Oracle 10g 是Oracle公司推出的数据库管理系统的一个版本,它在数据库领域有着广泛的应用,尤其在企业级数据存储和管理中占据重要地位。本套快速入门学习资源旨在帮助初学者迅速掌握Oracle 10g的基本操作和核心概念...
在Oracle中,存储过程可以提高应用程序的性能,因为它减少了与数据库的交互次数,并允许在数据库级别进行复杂的逻辑处理。以下是Oracle存储过程开发的一些要点: 一、概述 在Oracle存储过程开发中,你需要掌握以下...
Oracle10G数据库操作DLL文件是Oracle公司为开发者提供的一个重要的组件,主要用于在C#等.NET环境中与Oracle数据库进行交互。这个DLL文件,即`Oracle.DataAccess.dll`,包含了Oracle Data Provider for .NET (ODP.NET...
Oracle 11g引入了对Java的支持,允许存储过程直接调用Java方法,增强了存储过程的功能性和灵活性。 #### 高效分页存储过程实例 设计存储过程时,考虑到性能优化尤为重要。例如,通过游标和循环控制,可以实现高效...
在Oracle 10g的安装过程中,有一个关键的环节是选择安装选项,包括同时创建数据库、使用ASM(Automatic Storage Management)或仅安装数据库软件。推荐选择“仅安装数据库软件”,这样可以将软件安装与数据库创建...
在VBA(Visual Basic for Applications)中调用ADO(ActiveX Data Objects)来访问Oracle数据库并执行存储过程,可以实现高效的数据操作。Oracle存储过程是预编译的SQL语句集合,可以封装复杂的业务逻辑,而VBA通过...
Oracle 10g是其第十个主要版本,发布于2003年,引入了许多创新特性,提升了性能、可靠性和易用性。 1. **Oracle数据库基础** - 数据库概念:了解关系型数据库的基本原理,如表、索引、视图、存储过程等。 - SQL...
1. **SQL语言**:SQL(Structured Query Language)是与数据库交互的语言,Oracle 10g支持标准SQL以及一些扩展功能,如PL/SQL,用于编写存储过程、函数和触发器。学习SQL是掌握Oracle数据库的基础,包括查询、插入、...
在Oracle 10G中,SQL被用来创建、修改和查询数据库对象,如表、视图、索引和存储过程。基本的SQL语句包括SELECT(查询数据),INSERT(插入数据),UPDATE(更新数据)和DELETE(删除数据)。 2. **SELECT语句**: ...
8. **存储过程调用**:支持调用Oracle数据库中的存储过程,使用`CallableStatement`对象。 9. **性能优化**:通过设置连接属性,如`prepareCall`和`prepareStatement`的缓存,可以提高性能。 10. **连接池管理**:...
《Oracle11g从入门到精通》面向数据库管理人员和数据库开发人员,从实际角度出发,系统地介绍了数据库和Oracle的相关概念和原理、Oracle的数据库管理(如安装与启动,用户权限、备份与恢复等),以及Oracle的应用...
Oracle Database 10 g :“g”代表网格 1-6 Oracle 数据库体系结构 1-8 数据库结构 1-9 Oracle 内存结构 1-10 进程结构 1-12 Oracle 实例管理 1-13 服务器进程和数据库缓冲区高速缓存 1-14 物理数据库结构 1-...
### Oracle 存储过程与游标使用详解 在Oracle数据库管理中,存储过程与游标是两个非常重要的概念。它们可以提高数据处理的效率、增强应用程序的灵活性,并且能够简化复杂的数据库操作。本文将根据提供的内容,深入...
通过以上的介绍,我们可以了解到Oracle存储过程的定义、使用方法、变量的定义与声明、游标的使用、循环控制语句、过程控制语句、存储过程的创建和异常处理、触发器的概念与使用、JOB的管理以及SQL优化策略等多个方面...