`
每一天都有收获
  • 浏览: 2435 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

oracle-存储过程(procedure)

阅读更多
存储过程

--可以理解为给匿名块起个名字,可以保存到数据库服务器上,方便以后的应用。

--预编译(已经编译好的)sql语句。

---oracle语句也是要先编译在运行的语言。所以说编译好了,就可以直接运行了,节约了再次编译的时间。

-------------------

写一个存储过程:

将pl/sql语句块改写成存储过程

    1.将declare改成is 或者 as

    2.加一个存储过程的定义头


create or replace procedure pro_名
is
//声明部分
begin
//执行部分
end;

    查看过程,确保过程正确建立。

使用存储过程:

  begin
pro_名(参数列表);
  end;

   或者

  在命令窗口用 execute pro_名(参数列表);

查看存储过程错误信息

1. pl/sql 

procedures

2.命令窗口

show error

----------------------------
带参数的过程:

  参数的写法:变量名   输入/输出  变量类型

  参数的类型不要写成 number(10) 要写成number;   varchar2也不要写长度

  输入参数 在过程里 是不可以被修改的。

  输出参数 不能输入,只能在过程中给赋值

  若是既要能输入又要能输出呢--- v_a in out number

  过程没有返回值,但是有输出参数。同样可以返回信息

  create or replace procedure pro_get_bigger(v_a in number,v_b in number,v_bigger in out number)
  is
  begin
if(v_a > v_b) then
v_bigger :=v_a;
else
v_bigger :=v_b;
end if;
  end;

----

  declare
v_a number(10) := 40;
v_b number(10) :=20;
v_bigger number(10);
  begin
pro_get_bigger(v_a,v_b,v_bigger);
  end;

--重点:得到update影响的函数


  隐士游标的使用 

  SQL%rowcount--获取一个number类型的返回值,最后一条语句影响的行数。

---------------------------------------------

函数与过程的区别:

1.函数有返回值,过程没有返回值,但是可以通过输出参数实现返回值得功能‘

2.在sql语句中函数一般实现一些稍复杂的计算功能

   存储过程主要完成独立过程。

----------------------------------------

函数

1.分 内置函数  自定义函数
分享到:
评论

相关推荐

    oracle-存储过程.ppt

    3. 修改和删除存储过程:可以使用 ALTER PROCEDURE 语句来修改存储过程,使用 DROP PROCEDURE 语句来删除存储过程。 在存储过程中使用参数: 1. 输入参数:可以在存储过程中使用输入参数,以便在执行存储过程时...

    oracle-存储过程1.ppt

    与SQL Server中的存储过程相似,Oracle存储过程也可以接受输入参数,返回输出参数,以及处理执行状态。 2. **存储过程的优点** - **封装商务逻辑**:存储过程将业务规则和数据操作封装起来,一旦规则更改,只需...

    Oracle-procedure.rar_oracle_oracle procedure_oracle 存储过程

    这篇教程将深入探讨Oracle存储过程的概念、创建、调用以及其在数据库管理中的应用。 一、存储过程的概念 存储过程是预编译的SQL和PL/SQL语句集合,它们存储在数据库中并作为一个单一的单元执行。相比于直接运行单个...

    Oracle--存储过程

    Oracle存储过程是数据库管理系统Oracle中的一个重要特性,它允许程序员或数据库管理员在数据库中定义一系列复杂的SQL和PL/SQL语句,形成一个可重复使用的代码块。这个知识点涉及到数据库编程、性能优化以及数据库...

    Oracle--存储过程与触发器基本操作.docx

    Oracle数据库中的存储过程和触发器是数据库管理中的重要组成部分,它们极大地...通过这样的实践,我们可以更好地理解Oracle存储过程和触发器的基本操作,以及如何解决可能出现的问题,从而提高数据库管理和维护的能力。

    Oracle-存储过程与函数

    ### Oracle存储过程与函数详解 #### 一、存储过程概览 存储过程是Oracle数据库中的一个强大特性,属于子程序的一种,它允许开发者封装一系列PL/SQL语句,以实现复杂逻辑或重复任务的自动化执行。存储过程可以接受...

    cx_Oracle-5.1.2-11g.win-amd64-py2.7.exe

    例如,执行存储过程: ```python cursor.callproc('stored_procedure_name', [param1, param2]) ``` 在处理大数据量时,cx_Oracle提供了批量操作的能力,可以显著提高性能: ```python cursor.executemany('...

    Oracle-存储过程、函数、触发器和包.ppt

    Oracle数据库是广泛应用于大型企业级数据管理的一种关系型数据库系统,它支持丰富的数据库技术,包括存储过程、函数、触发器和包等高级特性。这些特性极大地增强了数据库的灵活性和功能,使得开发者能够创建复杂的...

    ORACLE-Procedure.rar_oracle

    "Oracle存储过程学习"文档可能还会涵盖如何修改(`ALTER PROCEDURE`)、删除(`DROP PROCEDURE`)和调试存储过程,以及如何利用Oracle的开发工具如SQL Developer进行管理。 总的来说,掌握Oracle存储过程对于任何...

    oracle存储过程学习经典入门

    CREATE PROCEDURE 语句是用来创建 Oracle 存储过程的语句,变量声明是用来声明变量的语句,控制语句是用来控制流程的语句,循环语句是用来循环执行的语句。 关于 Oracle 存储过程的若干问题备忘 在学习 Oracle ...

    ORACLE SQL 优化 存储过程 PROCEDURE

    ORACLE SQL 优化存储过程 PROCEDURE ORACLE SQL 优化存储过程 PROCEDURE 是一篇结合实际开发经验和理论知识的文章,旨在帮助开发者提高 SQL 开发效率和优化存储过程。文章涵盖了广泛的知识点,从基本的 SQL 语句到...

    Oracle数据库---存储过程实例

    根据提供的文件信息,我们可以深入探讨Oracle数据库中的存储过程以及如何使用MERGE语句。尽管描述部分似乎包含了无意义的信息,但我们将重点放在标题、标签以及部分内容上,从中提炼出有价值的知识点。 ### Oracle...

    oracle存储过程-帮助文档

    `oracle procedure.chm`是一个帮助文件,通常包含详细的参考信息、示例和教程,供用户学习和查询Oracle存储过程的用法。CHM(Compiled HTML Help)格式是一种微软提供的离线帮助文档格式,用户可以通过搜索和导航来...

    oracle实验5-存储过程与触发器.doc

    Oracle 实验五 - 存储过程与触发器 一、实验目的 Oracle 实验五的目的是掌握 Oracle 数据库编程语言 PL/SQL 的基础知识,掌握游标的四个使用步骤,掌握触发器的原理,学会定义触发器,以及掌握存储过程的定义...

    C# 传入自定义列表List 到Oracle存储过程

    本文将详细讲解如何在C#中使用自定义列表(List)作为参数调用Oracle存储过程,以及实现这一功能的关键技术和注意事项。 首先,我们需要了解Oracle数据库中的PL/SQL类型,例如VARCAR2、NUMBER等,它们对应于C#中的...

    Python使用cx_Oracle调用Oracle存储过程的方法示例

    本文实例讲述了Python使用cx_Oracle调用Oracle存储过程的方法。分享给大家供大家参考,具体如下: 这里主要测试在Python中通过cx_Oracle调用PL/SQL。 首先,在数据库端创建简单的存储过程。 create or replace ...

    Oracle数据库--存储过程、函数、触发器和包.pptx

    【Oracle数据库存储过程】 Oracle数据库中的存储过程是一组预编译的SQL语句和PL/SQL代码,它们被组织在一起以完成特定的任务。存储过程的创建使用`CREATE PROCEDURE`语句,如: ```sql CREATE PROCEDURE procedure_...

    ORACLE-基于包的存储过程动态分页

    ### ORACLE-基于包的存储过程动态分页 在Oracle数据库中实现动态分页功能时,通常会采用存储过程的方式来进行。本篇文章介绍了一个具体的基于包的存储过程实现方案,该方案可以实现在不知道具体表结构的情况下进行...

    delphi调用Oracle的存储过程

    #### Oracle存储过程创建 首先,我们需要在Oracle数据库中创建一个存储过程。以下是一个示例存储过程`pkg_test`的创建脚本: ```sql CREATE OR REPLACE PACKAGE pkg_test AS TYPE myrctype IS REF CURSOR; ...

Global site tag (gtag.js) - Google Analytics