`
在水伊方
  • 浏览: 111100 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

ORACLE中的过程

 
阅读更多

可以创建包含一组SQL和PL/SQL语句的过程,过程使得业务逻辑在数据库中集中,任何能够访问数据库的程序都可以使用过程,创建过程的语法:

CREATE [OR REPLACE] PROCEDURE procedure_name
[(parameter_name [IN | OUT | IN OUT] type[, ...])]      
{IS | AS}
BEGIN
  procedure_body
END procedure_name;

 

OR REPLACE说明如果该过程已经存在,则用新的过程代替它,该选项可以用来修改一个现有过程

procedure_name指定过程名

parameter_name指定参数名,可以向一个过程传递多个参数

IN | OUT | IN OUT定义参数的模式

type定义参数的类型

procedure_body包含执行过程任务的SQL和PL/SQL语句

 

下面的例子定义一个名为update_emp2_sal的过程,该过程将雇佣的工资乘以一个倍数,雇佣empno和倍数作为参数传递给过程:

CREATE OR REPLACE PROCEDURE update_emp2_sal(
       p_empno IN emp2.empno%TYPE,
       p_factor IN NUMBER) 
AS       
       v_emp2_count INTEGER;
BEGIN
  SELECT COUNT(*)
  INTO v_emp2_count
  FROM emp2
  WHERE emp2.empno = p_empno;
  
  --如果该编号的雇佣在表中存在,则更新工资
  IF v_emp2_count = 1 THEN
    UPDATE emp2
    SET sal = sal * p_factor
    WHERE emp2.empno = p_empno;
    COMMIT;
  END IF;
EXCEPTION
  WHEN OTHERS THEN
    ROLLBACK;
END update_emp2_sal;
/  

 

调用过程可以用下面的语句:

CALL update_emp2_sal(7369, 2);
EXEC update_emp2_sal(7369, 2);

 

获取过程相关信息:

SELECT * FROM user_procedures WHERE object_name = 'UPDATE_EMP2_SAL';

 

删除过程语句: 

DROP PROCEDURE update_emp2_sal;

 


 


 

分享到:
评论

相关推荐

    oracle通过存储过程POST方式访问接口

    在Oracle数据库中,有时我们需要与外部系统交互,例如发送数据到Web服务或API。"Oracle通过存储过程POST方式访问接口"的主题就是关于如何利用Oracle的存储过程来实现HTTP POST请求,将数据提交到指定的接口。这个...

    oracle存储过程学习经典入门

    在存储过程中,select 某一字段时,后面必须紧跟 into,如果 select 整个记录,利用游标的话就另当别论了。在利用 select...into...语法时,必须先确保数据库中有该条记录,否则会报出"no datafound"异常。在存储...

    oracle 存储过程导出excel

    oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel

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

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

    oracle存储过程解锁

    在IT领域,尤其是在数据库管理与优化中,存储过程的解锁是一项关键技能,尤其对于Oracle数据库而言。当存储过程被锁定时,可能会影响系统的性能和稳定性,因此掌握如何解锁存储过程至关重要。以下是对“oracle存储...

    oracle存储过程unwrap解密工具.zip

    Oracle存储过程unwrap解密工具主要用于处理Oracle数据库中的加密存储过程。在Oracle数据库系统中,为了保护敏感代码或数据,开发人员有时会选择对存储过程进行加密。然而,当需要查看、调试或恢复这些加密的存储过程...

    pb中执行oracle存储过程脚本

    标题中的“pb中执行oracle存储过程脚本”指的是在PowerBuilder(简称PB)环境中调用Oracle数据库的存储过程。PowerBuilder是一种可视化的开发工具,常用于构建数据驱动的应用程序。Oracle存储过程则是在Oracle数据库...

    oracle存储过程常用技巧

    在 Oracle 存储过程中,游标是一种特殊的数据类型,它可以用来存储查询结果。游标可以用来实现复杂的业务逻辑,并提高数据库的性能。 四、异常处理 在 Oracle 存储过程中,异常处理是非常重要的。异常处理可以帮助...

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

    在帆软报表的设计过程中,当用户尝试调用一个Oracle数据库中的存储过程时,可能会遇到一个问题:即使存储过程本身并未声明任何输入或输出参数,设计界面仍会提示需要提供一个名为"storeParameter1"的参数。...

    C#中调用oracle存储过程返回数据集

    在C#中调用Oracle存储过程来返回数据集是一个常见的任务,这涉及到ADO.NET库的使用,特别是OracleClient组件。Oracle存储过程是数据库中的预编译SQL代码块,可以接收输入参数,执行复杂的业务逻辑,并返回结果。在C#...

    oracle 事务 回滚 存储过程

    3. **错误恢复**:通过在存储过程中使用事务,可以确保在遇到错误时,可以通过`ROLLBACK`回滚到事务开始前的状态,避免数据损坏。 ### 结论 Oracle事务与存储过程的结合为数据库应用程序提供了强大的工具,以确保...

    hibernate query调用oracle存储过程

    同时,提供的数据库文件可能包含了创建存储过程的脚本,可以在Oracle数据库中执行这些脚本来创建对应的存储过程。 在实际项目中,可能还需要考虑事务管理、异常处理等细节,确保数据操作的完整性和一致性。例如,...

    oracle存储过程-帮助文档

    Oracle存储过程是数据库管理系统中的一种重要特性,它允许开发者编写一系列SQL语句和PL/SQL块,形成可重复使用的代码单元。这篇博客“oracle存储过程-帮助文档”可能提供了关于如何创建、调用和管理Oracle存储过程...

    oracle存储过程加密破解

    oracle存储过程加密破解 0

    Oracle存储过程返回结果集

    本篇将深入探讨如何在Oracle存储过程中创建并返回一个结果集,并结合Java代码展示如何在应用程序中使用这个结果集。 首先,我们需要理解`OUT`参数的概念。在Oracle存储过程中,`IN`参数用于传递数据到过程,`OUT`...

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

    通过这种方式,C#中的自定义列表(List)可以高效地传递到Oracle存储过程中。这种做法减少了网络传输的数据量,提高了执行效率,尤其是在处理大量数据时。注意,实际应用中需替换上述代码中的占位符,如连接字符串、包...

    oracle 存储过程批量提交

    批量提交在Oracle存储过程中是一项非常重要的技术,它可以帮助我们有效地处理大量数据,并且显著提升系统的整体性能。通过合理设计和实现,可以充分发挥其优势,为应用程序带来更好的用户体验。

    ORACLE存储过程最全教程

    在存储过程中,可以使用`EXECUTE IMMEDIATE`执行动态SQL,这在处理不确定的SQL语句或需要构建SQL语句时非常有用。 九、游标 存储过程可以使用游标(CURSOR)处理多行结果集。游标允许按行读取结果集,常用于循环...

    Oracle存储过程开发的要点

    Oracle存储过程是数据库管理系统Oracle中的一种重要特性,用于封装一系列SQL和PL/SQL代码,以实现特定的功能。在Oracle中,存储过程可以提高应用程序的性能,因为它减少了与数据库的交互次数,并允许在数据库级别...

    springboot整合mybatis调用oracle存储过程

    Oracle数据库则是企业级应用中常见的关系型数据库,存储过程是其提供的一种强大功能,允许开发者编写复杂的SQL逻辑并进行封装。本文将深入探讨如何在Spring Boot项目中整合MyBatis,实现调用Oracle存储过程并处理...

Global site tag (gtag.js) - Google Analytics