1、in模式参数
输入模式的参数,用于接收参数,在子程序内部,不能进行修改。默认的参数模式:in。

--定义打印的存储过程
CREATE OR REPLACE PROCEDURE println (str VARCHAR)
AS
BEGINdbms_output.put_line(str);END;
--定义测试in模式的存储过程
CREATE OR REPLACE PROCEDURE pro(p1 IN INT,p2 IN INT)--参数的个数、类型可以自定义,但是参数不允许指定长度
AS
BEGINprintln(p1);println(p2);--p2:=11; --in模式参数不能为其赋值END;--通过语句块调用存储过程
BEGINpro(10,100);END;

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

--测试out模式的存储过程
CREATE OR REPLACE PROCEDURE pro(p3 OUT INT)
AS
BEGINprintln(p3);--p3会忽略传入的值p3:=33;--设定存储过程调用后的值END;DECLARE
var3 INT :=30;--声明一个变量用于设定存储过程调用前的值
BEGIN
-- pro(30); --error,20对应过程中out模式的参数,out会输出结果给调用的实参,但是20不能作为赋值目标
println('存储过程调用前的值:'||var3);
pro(var3);--调用pro存储过程重新赋值;调用过程,如果过程形参是out模式,必须采用变量实参
println('存储过程调用后的值:'||var3);END;

3、in out 模式参数
输入输出模式:能接收传入的实参值;在子程序内部可以修改; 可以输出(必须用实参变量调用)

--测试in out模式的存储过程
CREATE OR REPLACE PROCEDURE pro(p4 IN OUT INT)
AS
BEGINprintln(p4);p4:=44;--in out模式参数的值可以修改END;DECLARE
var4 INT :=40;--声明一个变量用于设定存储过程调用前的值
BEGIN
println('存储过程调用前的值:'||var4);
pro(var4);--调用pro存储过程重新赋值
println('存储过程调用后的值:'||var4);END;

Oracle存储过程in、out、in out 模式参数相关推荐

  1. Oracle存储过程中如何根据指定的参数判断该参数的值否存在数据表中:

    摘要:最近项目中用到了Oracle存储过程,所以就自己尝试着写了下,下面我把我遇到的问题描述一下:就是在我处理解析Clob字段中的xml字符串的时候,有个需求就是根据指定的主键参数,来判断该参数的值是 ...

  2. .NET调用Oracle存储过程,使用数组类型的参数(如ArrayList)

    今天一个项目组的朋友问及:如何在.NET中调用Oracle的存储过程,并以数组作为参数输入. Oracle的PL/SQL非常强大,支持定长数组和变长数组,支持任何自定义数据类型.通过阅读ODP的文档, ...

  3. springboot+mybatis调用oracle存储过程

    1 存储过程参数为VARCHAR 代码逻辑:controller层定义实体类对象entity,并entity.set给存储过程的输入参数赋值,把赋值后的实体类通过service层传到dao层,然后通过 ...

  4. 布尔类型(boolean)在oracle存储过程中支持情况

    文章目录 1.布尔类型在oracle存储过程中支持情况 (1)布尔类型在过程.函数.包中的支持情况 (2)布尔类型与其他类型的兼容情况 (3)布尔类型作为cast函数参数情况 (4)存储过程case- ...

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

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

  6. oracle 变量赋值_【赵强老师】Oracle存储过程中的out参数

    欢迎关注赵老师公众号,公众号搜索:myitshare 一.什么是存储过程 Oracle存储过程可以说是一个记录集吧,它是由一些PL/SQL语句组成的代码块,这些PL/SQL语句代码像一个方法一样实现一 ...

  7. Oracle --存储过程,输入不定个数参数

    2019独角兽企业重金招聘Python工程师标准>>> 一般来说,写存储过程时,输入的参数个数是固定的,但最近业务需求,输入的参数不固定. 思路:oracle存储过程的输入参数个数. ...

  8. mysql存储过程_MySQL带out和inout模式参数的存储过程

    一.OUT模式 out模式参数写法和in相似 out 参数名 参数类型 同样,存储过程也支持一个或多个返回值. 以员工表和部门表来测试 show create table emp; CREATE TA ...

  9. oracle存储过程传整数,oracle存储过程传参数

    场景:Oracle存储过程传参数有关问题 Oracle存储过程传参数问题 在存储过程当中传参数的时候可以使用 IF SDATE IS NOT NULL OR EDATE IS NOT NULL THE ...

最新文章

  1. 阿里云ECS使用SSH连接CentOS 6.9经常断线的问题解决:OperationTimedOut
  2. Linux源码手机,Linux操作系统源代码详细分析
  3. 适合新手入门的漏洞调试与分析—CVE-2010-3333
  4. 关于void main()的误区
  5. WiFi行业将走向何方?
  6. jquery实现饼图统计图表
  7. Android万能遥控菜单选择添加,Android万能遥控器小应用
  8. mysql 5.6.36安装图解_2017年12月聚合文章--实战-Mysql5.6.36脚本编译安装及初始化 | 码友网...
  9. 使用wireshark工具抓取手机包
  10. python实现数据恢复_数据恢复/电子取证 非常有用的python库——Construct | 学步园...
  11. vSphere 高级特性FT配置与管理
  12. python 命令行 参数_Python命令行参数
  13. Adb命令的使用查看所有的Apk包
  14. 架构运维篇(五):Centos7/Linux中安装RocketMQ
  15. uniapp打开App Store下载页面
  16. 大华C/C++面试题目解析
  17. 颜色空间的几种表示方法
  18. windows 搭建Web服务器和连接局域网打印机
  19. pip安装第三方库 报错:You should consider upgrading
  20. zmud之潜能武学技能计算器。

热门文章

  1. 解读术_悟sphenic_新浪博客
  2. Bugku 白哥的鸽子详解 MISC
  3. 聊一聊被 .NET程序员 遗忘的 COM 组件
  4. 读研2年,我选择从中科院退学转行做码农
  5. call与caller与callee的区别
  6. 广西计算机技校哪个学校好,广西十大技校学校排行榜
  7. Idea中部分java代码背景变成橙色问题
  8. 【软件开发之聊天软件】
  9. 电网:数据库-数据模型与数据系统结构
  10. 【YLCircleImageView】图片处理