oracle 存储过程类型:


1、in:输入类型,即由应用程序将数据传入oracle存储过程中;这种参数在存储过程中是只读参数,在存储过程中无法对该类型的参数进行修改;

2、out:输出参数,是在存储过程中对该值进行赋值,在程序中获取值。

3、in out:输入输出参数,兼具以上两种特性,但可读可写。

验证输入参数:

由于默认参数是输入类型的,在上图中,对BAcount参数赋值,报错。

解决办法:

  1. CREATE OR REPLACE PACKAGE body BAWQ_PROC_JGZX IS
  2. PROCEDURE PROC_CSJGZX
  3. (
  4. pproc VARCHAR2,
  5. BAcount int :=3
  6. )
  7. IS
  8. i int :=BAcount; --定义变量,通过变量替代参数
  9. BEGIN
  10. i:=BAcount;
  11. dbms_output.put_line(i);
  12. delete CSJGZX;
  13. while i>0 LOOP
  14. i := i-1 ;
  15. insert into CSJGZX (CSJGZX_PROC,id,bh,mc,data) values(pproc,SYS_GUID(),SYS_GUID(),'济南',cast(DBMS_RANDOM.VALUE(1,200) as int));
  16. commit;
  17. end loop;
  18.  
  19. END PROC_CSJGZX;
  20. END BAWQ_PROC_JGZX;

简单来说 in 是调用存储过程的时候向存储过程传递的消息。out是存储过程向调用者传出的消息。in out 则是两者之间相互通信。

oracle——存储过程参数的更多相关文章

  1. (转)oracle 存储过程 带游标作为OUT参数输出

    (转)oracle 存储过程 带游标作为OUT参数输出 存储过程返回OUT参数的游标 例子. 包中带过程 要自己定义一个type [cur_name] is ref cursor游标,返回的时候就直接 ...

  2. Oracle存储过程procedure in、out、in out 模式参数【不发布,纯转】

    Oracle存储过程procedure in.out.in out 模式参数 Oracle存储过程基本语法介绍 注意存过不会自动提交,需要在存过本身添加commit; rollback;等语句

  3. java 实现往oracle存储过程中传递array数组类型的参数

    注:本文来源于 <  java 实现往oracle存储过程中传递array数组类型的参数  >最近项目中遇到通过往存储过程传递数组参数的问题, 浪费了N多个小时,终于有点头绪. 具体的代码 ...

  4. Oracle存储过程in、out、in out 模式参数

    Oracle存储过程in.out.in out 模式参数 标签: oracle存储inout参数 2016-11-14 11:59 3272人阅读 评论(0) 收藏 举报  分类: oracle(7) ...

  5. mysql实现oracle存储过程默认参数

    我们都知道oracle存储过程支持为参数设置默认值,这样即使存储过程升级,原来的调用也可以不受影响.但是mysql不支持,mariadb也没有支持(截止10.4也是如此).但是这一限制会导致升级麻烦重 ...

  6. oracle 存储过程

    来自:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 I ...

  7. Oracle存储过程语法

    原文链接:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程  1 CREATE OR REPLACE PROCEDURE 存储过程名  ...

  8. ORACLE存储过程调用Web Service

    1. 概述 最近在ESB项目中,客户在各个系统之间的服务调用大多都是在oracle存储过程中进行的,本文就oracle存储过程调用web service来进行说明.其他主流数据库,比如mysql和sq ...

  9. Oracle存储过程基本语法介绍

    Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ...

随机推荐

  1. 多种方式实现滑动p91--105

    1.layout方法 2.offsetLeftAndRight()与offsetTopAndBottom()方法 3.LayoutParams(前提是要有父布局,根据父布局的类型决定LayoutPar ...

  2. Android性能优化之数据库优化

    本文为性能优化的第一篇——数据库性能优化,原理适用于大部分数据库包括Sqlite.Mysql.Oracle.Sql server,详细介绍了索引(优缺点.分类.场景.规则)和事务,最后介绍了部分单独针 ...

  3. react_webpack.prod.config

    const path = require('path'); const webpack = require('webpack'); const jquery = require('jquery'); ...

  4. Castle IOC概念理解

    最近在用Castle,里面有些概念比较容易混淆,特此解释一下: 1. 容器(Container):Windsor是一个反转控制容器.它创建在一个微内核的基础之上,这个微内核能够扫描类并且试图找到这些类 ...

  5. C++中标准输入流cin与Ctrl+Z使用时的问题

    今天使用C++编写了一段小程序,练习使用标准库的算法,代码如下: #include <iostream> #include <algorithm> #include <v ...

  6. 《Drools7.0.0.Final规则引擎教程》第2章 追溯Drools5的使用

    2.1 Drools5简述 上面已经提到Drools是通过规则编译.规则收集和规则的执行来实现具体功能的.Drools5提供了以下主要实现API: KnowledgeBuilder Knowledge ...

  7. linux(redhat) mysql 的安装

    教程链接 注意 1.检查版本32/64位的时候 输入 name -a 输出为 Linux localhost.localdomain 2.6.18-53.el5 #1 SMP Wed Oct 10 1 ...

  8. php 中 用curl 发送 https 请求

    在 php.ini 中修改配置选项 curl.cainfo = "D:\phpStudy\php\php-5.6.27-nts\pert\cacert.pem" 其中 cacert ...

  9. Angular在render完成之后,执行Js脚本

    AngularJs中,如何在render完成之后,执行Js脚本 app.directive('onFinishRenderFilters', function ($timeout) { return ...

  10. return super(ParamValueInline,self).formfield_for_foreignkey(db_field,request,**kwargs)自己返回自己的父类

    作者:刘强胜链接:https://www.zhihu.com/question/30361435/answer/83940591来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...