Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。

Oracle存储过程可以有无参数存储过程和带参数存储过程。 
、无参程序过程语法

 create or replace procedure NoParPro
 as  ;
 begin
 ;
 exception     //存储过程异常
     ;
 end;
 


        二、带参存储过程实例

 create or replace procedure queryempname(sfindno emp.empno%type) as         sName emp.ename%type;         sjob emp.job%type; begin        .... exception          .... end;

 三、 带参数存储过程含赋值方式

create or replace procedure runbyparmeters  (isal in emp.sal%type,
                            sname out varchar,sjob in out varchar)
  as icount number;
  begin
       select count(*) into icount from emp where sal>isal and job=sjob;
       if icount=1 then
         ....
      else
         ....
       end if;
  exception
       when too_many_rows then
       DBMS_OUTPUT.PUT_LINE(‘返回值多于1行‘);
       when others then
       DBMS_OUTPUT.PUT_LINE(‘在RUNBYPARMETERS过程中出错!‘);
  end;

  四、在Oracle中对存储过程的调用
  过程调用方式一

 declare
        realsal emp.sal%type;
        realname varchar(40);
        realjob varchar(40);
  begin   //存储过程调用开始
        realsal:=1100;
        realname:=‘‘;
        realjob:=‘CLERK‘;
        runbyparmeters(realsal,realname,realjob);     --必须按顺序
        DBMS_OUTPUT.PUT_LINE(REALNAME||‘   ‘||REALJOB);
  END;  //过程调用结束
 

过程调用方式二

declare
       realsal emp.sal%type;
      realname varchar(40);
       realjob varchar(40);
 begin    //过程调用开始
       realsal:=1100;
     realname:=‘‘;
      realjob:=‘CLERK‘;
      runbyparmeters(sname=>realname,isal=>realsal,sjob=>realjob);
 --指定值对应变量顺序可变
      DBMS_OUTPUT.PUT_LINE(REALNAME||‘   ‘||REALJOB);
 END;  //过程调用结束

至此,有关ORACLE的基本存储过程以及对Oracle存储过程的调用方式介绍完毕。

采集

#HUABAN_WIDGETS .HUABAN-red-normal-icon-button, .HUABAN-red-large-icon-button, .HUABAN-red-small-icon-button, .HUABAN-white-normal-icon-button, .HUABAN-white-large-icon-button, .HUABAN-white-small-icon-button { background-image: url({{imgBase}}/widget_icons_ie6.png)

采集

#HUABAN_WIDGETS .HUABAN-red-normal-icon-button, .HUABAN-red-large-icon-button, .HUABAN-red-small-icon-button, .HUABAN-white-normal-icon-button, .HUABAN-white-large-icon-button, .HUABAN-white-small-icon-button { background-image: url({{imgBase}}/widget_icons_ie6.png)

时间: 2024-08-03 10:07:37

Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。的相关文章

Retrofit2的GsonConverterFactory.create()和RxJava2CallAdapterFactory.create()的实现过程以及执行过程

一概述 上一节分析了retrofit2从创建到执行的完整流程,本节分析一下两个非常重要的功能.数据转换器的实现以及网络请求适配器的实现. 二.GsonConvertFactory.create()数据转换器的实现过程以及执行过程 我们先看下GsonConvertFactory.crete()的源代码,此类在retrofit-converters插件中 public final class GsonConverterFactory extends Converter.Factory { //创建G

TControl的显示函数(5个非虚函数,4个虚函数)和三个例子的执行过程(包括SetParent的例子)

// 9个显示函数 procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); virtual; // 虚函数,important 根据父控件 // 手法:固定不变的模式,或者简单调用,或者简单设置标志位,就不是虚函数. procedure Show; // 设置自己和所有祖先的visible标识 procedure Hide; // 简单设置visible标识,与祖先无关 procedure Refresh; // 简单调用Repai

spark on yarn 执行过程介绍

执行语句: sudo spark-submit --master yarn--driver-memory 7G --executor-memory 5G --executor-cores 24 --num-executors 4--class spark.init.InitSpark /home/hxf/gogo.jar>/home/hxf/dddd.txt2>&1; 执行过程: 执行过程简介: 1 通过SecurityManager进行用户权限验证. 2 远程启动一个Actor(实际

ORACLE数据库SQL语句的执行过程

首先是最简单链接数据库的过程,JDBC标准的链接的过程: 1. 载入JDBC驱动程序,一般来说载入驱动程序,采用的都是利用Class.forName()反射来加载驱动 Oracle: Class.forName("oracle.jdbc.driver.OracleDriver"); SQLServer: Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); MySql: Class.forNam

oracle学习笔记 SQL语句执行过程剖析讲课

oracle学习笔记 SQL语句执行过程剖析讲课 这节课通过讲述一条SQL语句进入数据库 和其在数据库中的整个的执行过程 把数据库里面的体系结构串一下. 让大家再进一步了解oracle数据库里面的各个进程.存储结构以及内存结构的关联关系. 首先来讲整个体系中有客户端.实例和数据库 数据库里有三类文件 控制文件ctl.数据文件dbf.日志文件log 实例中SGA有六大池子 第一大内存区shared pool即共享池 第二大内存区buffer cache 第三块是redo log 我们主要讲上面的三

Oracle 共享池和数据库高速缓冲区,引出SQL执行过程

共享池在数据库中可以说是相当重要动力资源,关系着数据库的性能瓶颈. 什么是共享池呢? 共享池是内存结构中SGA(系统全局区)的一部分,包含了:库缓冲区.数据字典缓冲区.服务器结果缓冲区.预留池,也是着四个区组成了共享池,这四个区的功能就是共享池的功能. 库缓冲区 共享SQL区:存放执行计划和解析树,当用户执行一条SQL语句时,共享池会根据SQL语句的复杂程度分出一定的内存给用户,当用户再次执行相同的SQL语句时,不必再次进行解析,提高执行语句的执行效率.类似于古代将领带兵打仗,皇帝就是用户,把将

Mysql存储过程包含事务,且传入sql数据执行

有一个需求是:在一个图片按钮上点击,在按钮的上方弹出一个弹框,根据弹框的内容页面做不同的显示.这个其实没什么难的,主要是要控制好弹框的显示位置,让弹框显示在图片的正上方的中间. 一开始是用的Popupwindow,但是Popupwindow不能给弹窗之外的页面加一个半透明的蒙层,当然可以在页面上加一个专门的作为蒙层的View,但是很显然,这么做会代码变得很恶心,于是又换成了Dialog,因为Dialog弹出的时候会自动加一个蒙层的,但是这个时候,弹框显示位置的Y坐标不对了,后来一顿查,原来Dia

Oracle是如何工作的?实例是如何响应用户请求?一条SQL的执行过程~

Oracle 是如何工作的? Select id,name from t order by id ; – SQL 解析(查看语法是否错误,如果没有错误,分析语意,执行此语句的权限) – 执行计划(ORACLE如何访问数据,按照执行计划取数据) – 执行SQL • 从磁盘中读取数据(如果数据在内存中没有,就去磁盘读取) • 数据处理(数据读到内存后,就进行处理.排序,组合等处理) • 返回结果(把结果返回给用户) Insert into t values(1,‘tigerfish’); – SQL

Hadoop 学习笔记三 --JobClient 的执行过程

一. MapReduce 作业处理过程概述 当用户在使用Hadoop 的 MapReduce 计算模型处理问题的时候,只需要设计好Mapper 和Reducer 处理函数,还有可能包括Combiner 函数.之后,新建一个Job 对象,并对Job 的运行环境进行一些配置,最后调用Job 的waitForCompletion 或者 submit 方法来提交作业即可.代码如下: 1 //新建默认的Job 配置对象 2 Configuration conf = new Configuration();