`

【赵强老师】Oracle存储过程中的out参数

阅读更多

一、什么是存储过程

Oracle存储过程可以说是一个记录集吧,它是由一些PL/SQL语句组成的代码块,这些PL/SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。

存储过程的好处:

  • 由于数据库执行动作时,是先编译后执行的。然而存储过程是一个编译过的代码块,所以执行效率要比PL/SQL语句高。
  • 一个存储过程在程序、在网络中交互时可以替代大堆的PL/SQL语句,所以也能降低网络的通信量,提高通信速率。
  • 通过存储过程能够使没有权限的用户在控制之下间接地存取数据库,从而确保数据的安全。

存储过程示例:

 

--给指定的员工涨100块钱的工资,并且打印涨前和涨后的薪水
create or replace procedure raiseSalary(eno in number)
as
  --定义变量,保存涨前的薪水
  psal emp.sal%type;
begin
  --得到涨前的薪水
  select sal into psal from emp where empno=eno;

  --涨100
  update emp set sal=sal+100 where empno=eno;
  
  --要不要commit?
  --一般,不在存储过程或者存储函数中提交和回滚
  
  dbms_output.put_line('涨前:'||psal||'   涨后:'||(psal+100));
end;
/

 

 

 

二、什么是out参数?

输出模式的参数,用于输出值,会忽略传入的值。在子程序内部可以对其进行修改。 输出:子程序执行完毕后,out模式参数最终的值会赋值给调用时对应的<实参变量>。 注意:out模式参数的调用,必须通过变量。

out参数示例:

--查询某个员工的姓名 月薪和职位
/*
1. 查询某个员工的所有信息 ---> out参数太多
2. 查询某个部门中所有员工的所有信息 --> 返回集合
*/
create or replace procedure queryempinfo(eno in number,
                                         pename out varchar2,
                                         psal   out number,
                                         pjob   out varchar2)
as
begin
  select ename,sal,empjob into pename,psal,pjob from emp where empno=eno;
end;
/

 

分享到:
评论

相关推荐

    传智播客 赵强 Oracle课件

    在赵强老师的课程中,你可以学到以下几个重要的Oracle知识点: 1. **Oracle基础知识**:了解Oracle的历史、版本以及其在企业级应用中的重要性。学习数据库的概念、数据模型(如关系型模型)以及数据库管理系统...

    赵强老师的Oracle课件

    想要好好地学习Oracle数据库的朋友呀,你错过了她就太不值得了。里面有好多的Oracle操作命令可能你都没接触过吧。好了,话不多多说。坚信资料不错!你,值得拥有!OK.还有,之所有要你2分打赏,是我给了你这么好的...

    从零开始oracle

    **数据挖掘**:从大量数据中自动发现有意义的模式和规律的过程。常用的技术包括聚类、分类、关联规则学习等。 **图1.3 数据仓库的体系结构** - **数据装载工具**:用于将原始数据转换成数据仓库中的格式。 - **...

    oracle 课件

    根据提供的信息,我们可以总结出以下关于“Oracle 11g 教程”的相关知识点: ### Oracle 11g 教程概述 Oracle 11g 是 Oracle 公司推出的一款功能强大的关系型数据库管理系统(RDBMS)。它不仅提供了一整套完整的...

    Oracle数据库赵强视频教程【3天】

    教程名称:Oracle 数据库赵强视频教程【3天】教程目录:【】Oracle安装与管理、SQL语句(赵强)【】Orcale存储过程jdbc与Orcale大文本操作等(赵强)【】SQL简单查询触发器视图(赵强)  资源太大,传百度网盘了,链接在...

    oracle讲义

    这部分可能在11 PL-SQL概述.ppt或14 存储过程与函数.ppt中详细讨论,包括TRY-CATCH块和预定义异常的使用。 以上是对"Oracle讲义"各部分内容的简要概述,这些知识点构成了Oracle数据库管理的基础,对于学习和掌握...

    Oracle学习笔记(传智播客 赵强)

    在Oracle数据库的学习中,SQL优化是一项至关重要的技能,因为它直接影响到数据库的性能和查询效率。...在实际工作中,结合索引优化、存储过程的使用以及适当的数据库设计,可以进一步提升系统性能。

    oracle课件

    安装过程中会接触到Oracle Universal Installer(OUI)和Database Configuration Assistant(DBCA)等工具,这些工具简化了数据库的创建和管理。 数据库的管理是Oracle学习的重要部分。这包括表空间的创建与管理,...

    二年级数学生活中的大数赵强PPT课件.pptx

    今天,我们将与赵强老师一同探索数学领域的一个重要主题——“生活中的大数”。这个主题通过生动的例子和清晰的逻辑,帮助孩子们在日常生活中感知和理解大数的存在及其重要性。 “生活中有大数”,这不仅是一句简单...

    精通JSP编程 作者赵强

    《精通JSP编程》是赵强先生的一部深入解析JSP技术的专业著作,该书针对JSP编程进行了全面且深入的讲解,旨在帮助读者掌握JSP的核心概念和技术,提升Web应用开发能力。根据提供的文件名列表,我们可以推测书籍的章节...

    精通JSP编程 作者赵强 编

    精通JSP编程 作者赵强 编 12-18节

    [1120][赵强精通JSP编程][37M]

    根据提供的文件信息,我们可以推断出这是一份与Java Server Pages (JSP)相关的学习资料介绍,特别是关于赵强编写的《精通JSP编程》这本书的相关信息。下面将基于这个理解来生成相关知识点。 ### 一、JSP基础概念 ...

    二年级数学生活中的大数赵强PPT学习教案.pptx

    在我们日常生活中,数字的应用无处不在,从简单的计数到复杂的科学研究,都需要用到...教师在教学过程中,应不断引导学生进行估算、比较和排序,通过实践加深对大数概念的理解,从而为他们的数学学习打下坚实的基础。

    信息存储技术的发展赵强.doc

    进入数字时代,存储技术进一步发展,包括半导体存储(RAM、ROM、Flash)、磁存储(硬盘、软盘、磁带)和光存储(CD、DVD、蓝光),各自具有独特的优缺点,共同构建了丰富的存储体系。 存储技术的今天,已经形成了...

    10天掌握MongoDB

    MongoDB是一种流行的NoSQL数据库,它以其高性能、高可用性以及易扩展的特性在现代数据库系统中占据了一席之地。本文将从NoSQL的基础概念出发,逐步深入介绍MongoDB的核心特性、架构、安装、数据操作和管理等方面的...

    day2013-0110-webLogic配置和集群(赵强).zip

    在`config.xml`中配置域的参数,如服务器名称、端口、JDBC数据源等。 3. 部署应用:使用WebLogic管理控制台或命令行工具`wlst`(WebLogic Scripting Tool)部署Java应用,将WAR、EAR或JAR文件上传到服务器上。 二...

    java代码-46 赖赵强 例2-1 定义并输出常量和变量

    变量,相比之下,是可以在程序执行过程中改变其值的数据存储单元。在Java中,我们需要指定变量的类型以及初始值。例如: ```java public class Example { public static int count = 0; // 声明一个整型变量count...

    LoadRunner性能测试巧匠训练营-完整版(带目录)-赵强邹伟伟

    《LoadRunner性能测试巧匠训练营》是一本深入讲解LoadRunner性能测试的教材,由赵强和邹伟伟两位专家共同编著。该资源提供的是完整版,且无需密码即可解压阅读,对于想要学习和提升LoadRunner性能测试技能的人来说,...

    java代码-46 赖赵强

    在本项目中,"java代码-46 赖赵强"显然指的是一个与Java编程相关的项目或示例,由开发者赖赵强创建。这个项目的重点可能是介绍或演示特定的Java编程技术、算法或者解决某个特定问题的方法。下面将详细讨论Java编程...

Global site tag (gtag.js) - Google Analytics