`

Oracle存储过程总结(一、基本应用)

阅读更多
本文引自Squirrel的专栏:http://blog.csdn.net/squirrelrao/archive/2008/07/11/2639571.aspx

1、创建存储过程
create or replace procedure test(var_name_1 in type,var_name_2 out type) as
--声明变量(变量名 变量类型)
begin
--存储过程的执行体
end test;
打印出输入的时间信息
E.g:
create or replace procedure test(workDate in Date) is
begin
dbms_output.putline('The input date is:'||to_date(workDate,'yyyy-mm-dd'));
end test;
2、变量赋值

变量名 := 值;

E.g:

create or replace procedure test(workDate in Date) is

x number(4,2);

begin

x := 1;

end test;

3、判断语句:

if 比较式 then begin end; end if;

E.g

create or replace procedure test(x in number) is

begin

        if x >0 then

         begin

        x := 0 - x;

        end;

    end if;

    if x = 0 then

       begin

        x: = 1;

    end;

    end if;

end test;

4、For 循环

For ... in ... LOOP

--执行语句

end LOOP;

(1)循环遍历游标

create or replace procedure test() as

Cursor cursor is select name from student; name varchar(20);

begin

for name in cursor LOOP

begin

dbms_output.putline(name); 

end;

end LOOP;

end test;

(2)循环遍历数组

create or replace procedure test(varArray in myPackage.TestArray) as

--(输入参数varArray 是自定义的数组类型,定义方式见标题6)

i number;

begin

i := 1;  --存储过程数组是起始位置是从1开始的,与java、C、C++等语言不同。因为在Oracle中本是没有数组的概念的,数组其实就是一张

--表(Table),每个数组元素就是表中的一个记录,所以遍历数组时就相当于从表中的第一条记录开始遍历

for i in 1..varArray.count LOOP     

dbms_output.putline('The No.'|| i || 'record in varArray is:'||varArray(i));  

end LOOP;

end test;

5、While 循环

while 条件语句 LOOP

begin

end;

end LOOP;

E.g

create or replace procedure test(i in number) as

begin

while i >  average := total / 5;

update student t set t.total=total and t.average = average where t.stdId = stdId;

end LOOP;

end;

end autocomputer;

--取得学生评论信息的存储过程

create or replace procedure get_comment(commentArray out myPackage.myArray) is

rs SYS_REFCURSOR;

record myPackage.stdInfo;

stdId varchar(30);

comment varchar(1);

i number;

begin

open rs for select stdId,comment from out_school

i := 1;

LOOP

fetch rs into stdId,comment; exit when rs%NOTFOUND;

record.stdId := stdId;

record.comment := comment;

recommentArray(i) := record;

i:=i + 1;

end LOOP;

end get_comment;

--定义数组类型myArray

create or replace package myPackage is begin

type stdInfo is record(stdId varchar(30),comment varchar(1));

type myArray is table of stdInfo index by binary_integer;

end myPackage;
分享到:
评论

相关推荐

    *oracle存储过程总结*oracle存储过程总结*

    根据提供的文件信息,我们可以归纳出以下Oracle存储过程的相关知识点: ### Oracle存储过程基础概念 ...以上是基于提供的部分内容对Oracle存储过程进行的总结,包含了从基础概念到具体应用实例的全面解析。

    oracle 存储过程批量提交

    #### 一、Oracle存储过程的基本概念 存储过程是由一系列SQL语句和过程化SQL语句(如循环、条件判断等)组成的单元,它们被编译并保存在数据库中。当存储过程被调用时,整个过程将作为一个整体被执行,这可以极大地...

    oracle 存储过程学习总结

    综上所述,Oracle存储过程学习总结提供了一套存储过程编写和应用的基本框架,包含了字符串处理函数的使用、动态SQL的编写、游标的定义和操作、以及异常处理等多个方面的知识点,是深入学习和应用Oracle存储过程的...

    帆软报表Oracle存储过程解决storeParameter1参数试用插件

    总结起来,"帆软报表Oracle存储过程解决storeParameter1参数试用插件"主要是针对在调用无参数Oracle存储过程时出现的异常问题提供的一种解决方案。通过安装并配置这个插件,用户可以顺利地在帆软报表中调用不包含...

    oracle 存储过程 函数 dblink

    #### 一、Oracle存储过程简介 在Oracle数据库中,存储过程是一种预编译好的SQL代码集合,它可以接受输入参数、返回单个值或多个值,并能够执行复杂的数据库操作。存储过程提高了代码的重用性和执行效率,同时也便于...

    Java调用oracle存储过程总结

    本文将全面总结如何使用Java与Oracle存储过程进行交互。 首先,理解Oracle存储过程的基本概念。存储过程是预编译的SQL语句集合,存储在数据库中,可以接受参数、执行一系列操作并返回结果。它们提高了性能,减少了...

    oracle存储过程应用实例

    ### Oracle存储过程应用实例 #### 一、存储过程概述 存储过程是一种预先编写并编译好,存储在数据库中的程序代码。它能够接受输入参数,并根据这些参数执行一系列操作,最终返回结果。存储过程的优势在于它能够...

    Oracle存储过程、触发器

    总结来说,Oracle存储过程和触发器是数据库编程的重要工具,它们有助于提高代码的复用性和数据库的性能。而`ProcTest.java`这样的Java程序则提供了一种与Oracle数据库交互的方式,可以执行存储过程并处理结果。通过...

    oracle 存储过程学习经典

    - **总结**: Oracle存储过程是数据库中非常重要的组成部分,它不仅可以提高应用程序的性能,还可以简化复杂的数据处理逻辑。了解并掌握Oracle存储过程的使用方法对于数据库开发者来说至关重要。 - **未来发展方向**:...

    oracle存储过程及触发器总结

    ### Oracle存储过程及触发器总结 #### 一、Oracle 存储过程概述 在Oracle数据库中,存储过程是一...以上是对Oracle存储过程及触发器的基础总结,通过学习这些基本概念和技术,可以更好地利用Oracle数据库的强大功能。

    oracle 存储过程语法例子

    总结,这个例子中展示了Oracle存储过程的基本结构,包括包的创建、过程的定义、游标的使用、条件判断、动态SQL以及异常处理。这些都是在Oracle数据库环境中编写高级逻辑和数据操作时不可或缺的技能。通过理解和实践...

    oracle存储过程游标

    ### Oracle 存储过程与游标使用...通过以上分析,我们可以看到Oracle存储过程与游标的应用十分广泛,不仅能够提升开发效率,还能增强系统的稳定性和安全性。熟练掌握这些技术对于数据库管理员和开发人员来说至关重要。

    在.NET中调用Oracle存储过程经验总结.doc

    ### 在.NET中调用Oracle存储过程经验总结 #### 一、引言 随着.NET平台的广泛应用,越来越多的应用程序选择.NET框架进行开发。与此同时,Oracle数据库因其高性能和稳定性被广泛采用。因此,在.NET环境中如何有效地...

    利用windows任务计划调用oracle存储过程

    总结来说,通过Windows任务计划调用Oracle存储过程,我们可以实现数据库管理的自动化,减轻运维负担,提高工作效率。这需要对Windows操作系统、Oracle数据库和SQL有扎实的理解,以及一定的编程基础。在实际应用中,...

    oracle存储过程详解-开发技术

    Oracle存储过程是提高数据库应用性能的重要工具之一,通过合理的设计和使用,不仅可以提升应用的响应速度,还能有效保护数据库的安全性和稳定性。了解其基本语法和常见问题,对于开发者来说至关重要。

    C#调用oracle方法(包括调用存储过程)

    本文将详细介绍如何使用C#语言连接Oracle数据库,并演示如何调用Oracle存储过程,特别是带有输出参数的情况。这些知识点对于初学者来说尤为重要。 #### 前置知识 1. **C#基础**:理解C#的基本语法和概念。 2. **...

    Oracle存储过程、函数和包

    ### Oracle存储过程、函数和包的关键知识点 #### 1. 存储过程和函数的认识 - **定义**:存储过程和函数是特定类型的PL/SQL块,它们被存储在数据库中,作为命名的对象存在。 - **命名存储**:与普通的PL/SQL块不同,...

    oracle存储过程超详细使用手册

    Oracle存储过程是一组为了完成特定功能的SQL语句集,它被编译并存储在数据库中,可以被多次调用执行,提高代码的复用性并减少网络流量。本手册将详细介绍Oracle存储过程的创建、变量使用、控制结构、游标等高级特性...

    oracle存储过程语法及实例讲解

    Oracle存储过程是一种在数据库服务器上预编译并存储的程序块,它可以包含一系列SQL语句和控制流语句。存储过程提高了应用程序性能,并增强了数据的一致性和安全性。本文将详细介绍Oracle存储过程的基本语法及其创建...

    用java调用oracle存储过程总结

    在Java编程中,调用Oracle数据库的存储过程是常见的任务,尤其在处理复杂业务逻辑或数据操作时。这里我们将深入探讨两种情况:无返回值的存储过程和有返回值(非列表)的存储过程。 首先,对于无返回值的存储过程,...

Global site tag (gtag.js) - Google Analytics