例:
DECLARE
param0 VarChar(10);
param1 VarChar(3);
sqlStr Varchar(2000);
BEGIN
param0:=‘gsld140600’;
param1:=’‘1’’;
sqlStr:=‘SELECT COUNT(1) AS NOTICECOUNT FROM GSPMESSAGEACTOR,GSPMESSAGE
WHERE LOWER(GSPMESSAGEACTOR.TARGET) = :param0
AND GSPMESSAGEACTOR.ISSENDER=’‘0’’ AND GSPMESSAGEACTOR.STATE = ‘‘0’’ AND GSPMESSAGEACTOR.TYPE=’‘1’’
AND GSPMESSAGE.TYPE in (:param1) AND GSPMESSAGEACTOR.MESSAGEID = GSPMESSAGE.MESSAGEID
UNION ALL
SELECT COUNT(1) AS NOTICECOUNT FROM GSPMESSAGEACTOR,GSPMESSAGE
WHERE LOWER(GSPMESSAGEACTOR.TARGET) = :param0
AND GSPMESSAGEACTOR.ISSENDER=’‘0’’ AND GSPMESSAGEACTOR.STATE = ‘‘1’’ AND GSPMESSAGEACTOR.TYPE=’‘1’’
AND GSPMESSAGE.TYPE in (:param1) AND GSPMESSAGEACTOR.MESSAGEID = GSPMESSAGE.MESSAGEID ';
EXECUTE IMMEDIATE sqlStr using param0,param1;
END;

DECLARE

简介
存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,
减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。
优点:
允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。
允许更快执行,如果某操作需要执行大量SQL语句或重复执行,存储过程比SQL语句执行的要快。
减少网络流量,例如一个需要数百行的SQL代码的操作有一条执行语句完成,不需要在网络中发送数百行代码。
更好的安全机制,对于没有权限执行存储过程的用户,也可授权他们执行存储过程。
创建存储过程的语法:
1 create [or replace] procedure 存储过程名(param1 in type,param2 out type)
2 as
3 变量1 类型(值范围);
4 变量2 类型(值范围);
5 begin
6 select count(*) into 变量1 from 表A where列名=param1;
7 if (判断条件) then
8 select 列名 into 变量2 from 表A where列名=param1;
9 dbms_output.Put_line(‘打印信息’);
10 elsif (判断条件) then
11 dbms_output.Put_line(‘打印信息’);
12 else
13 raise 异常名(NO_DATA_FOUND);
14 end if;
15 exception
16 when others then
17 rollback;
18 end;
参数的几种类型:
in 是参数的默认模式,这种模式就是在程序运行的时候已经具有值,在程序体中值不会改变。
out 模式定义的参数只能在过程体内部赋值,表示该参数可以将某个值传递回调用他的过程
in out 表示高参数可以向该过程中传递值,也可以将某个值传出去

oracle-SQL存储过程相关推荐

  1. Oracle SQL存储过程结构、异常处理示例

    -- 存储过程结结构. -- EXCeption不是存储过程必须部分,可以用作本存储过程的异常处理,但如果没有异常处理,出了异常将会终止程序 CREATE PROCEDURE procedure_na ...

  2. oracle sql loop merge,Oracle之存储过程和MERGE INTO语句

    一.MERGE INTO语句 1.merge into语句的功能:我们操作数据库的时候,有时候会遇到insert或者Update这种需求.我们操纵代码时至少需要写一个插入语句和更新语句并且还得单独写方 ...

  3. java oracle sql 参数_oracle pl/sql之在java中调用带有输入输出参数的oracle存储过程...

    只需注意一点输出参数是用CallableStatement里面的registerOutParameter方法注册进去 存储过程: import java.sql.CallableStatement; ...

  4. Oracle PL/SQL 存储过程

    Oracle PL/SQL 存储过程 Oracle 简介: 是甲骨文公司的一款关系数据库管理系统.它是在数据库领域一直处于领先地位的产品.可以说Oracle数据库系统是目前世界上流行的关系数据库管理系 ...

  5. Oracle sql developer中调试存储过程

      很奇怪, 网上相关信息很少. 是我搜索的关键词不对吗?    进入过程(Procedures)或程序包(Packages) : 点击选择需要调试的程序后, 在右边代码编辑区域 的工具栏找到两个齿轮 ...

  6. oracle 存储过程 胡勇,Oracle SQL:经典查询练手第二篇

    本文与大家共同讨论与分享ORACLE SQL的一些常用经典查询,欢迎大家补充,同时你认为有那些经典的也可分享出来.在本文中,对每一个问题,你要是认为有什么更好的解决方法也欢迎你及时提出.交流与分享才能 ...

  7. oracle怎么调报表,集智数据平台报表如何调用Oracle数据存储过程

    需要注意的是,当在单元格中用call函数调用存储过程时,执行存储过程,返回结果数据集合,只能返回单列数据,如果存储过程返回多个 数据集的数据来自存储过程.sql语句执行的时候要先编译,然后执行.存储过 ...

  8. oracle 9I 存储过程复制,使用ADO.NET访问Oracle 9i存储过程(上)_oracle

    本文讨论了如何使用 ADO.NET 访问 oracle 存储过程(称为 SQL 编程块)和函数(返回单个值的编程块). 您可以使用以下托管数据提供程序连接到 Oracle 数据库:Microsoft ...

  9. [转]SQLServer和Oracle,存储过程区别,常用函数对比

    本文转自:http://www.cnblogs.com/neru/archive/2011/08/18/2144049.html 以前一直用sqlserver,只有很少的一点oracle的经验,现在要 ...

  10. 精通 Oracle+Python 存储过程、Python 编程

    调用数据库存储过程及其他感兴趣的高级 Python 编程功能. 对于涉及数据库的软件开发来说,有两种主流开发方法:一种是在应用程序中(对于三层体系结构,也可以是在中间件中)实现所有业务逻辑,另一种是在 ...

最新文章

  1. pandas 索引_10分钟带你学会Pandas多层级索引
  2. cv2.setNumThreads
  3. 云炬WEB开发笔记3-1 项目初始化概要
  4. linux用户管理练习题
  5. 购买MP3必备资料 各大芯片方案齐齐数
  6. 基于JAVA+SpringBoot+Mybatis+Vue+MYSQL的在线考试系统
  7. 两栏布局的5中实现方式
  8. C# interview questions--- 国外大公司c#技术面试必看(总结贴一)
  9. 中国AR镜片市场现状研究分析与发展前景预测报告(2022)
  10. 软件测试风险管理包含哪两方面,软件测试风险的应对措施通常包括哪几类
  11. 移动端登录后,携带token请求其他页面接口提示token验证失败
  12. Windows电脑开机后进不了系统的解决方法
  13. 类与对象的基本语法+练习题
  14. Shiro实现logout操作
  15. 互联互通-标准化成熟度指标分析(更新中)
  16. 飞桨PaddlePaddle-百度架构师手把手带你零基础实践深度学习——21日学习总结
  17. 甘肃兰州年内发行市民卡
  18. 19级赵同学推荐的十佳医疗图像处理论文
  19. 茄子科技(海外SHAREit Group),助力跨境电商有效实现出海稳定发展
  20. 领英中国总裁陆坚:入华五年,带给我们的三点教训

热门文章

  1. 在亚马逊严抓测评的风口下,亚马逊买家秀关联视频或许是一个安全有效的方式
  2. c语言编程ABABCBABC,上海海事大学C语言程序设计练习题全题库
  3. 【Python】零、学习经验分享
  4. 光谷 计算机专业 好的学校,距离光谷最近的十所高校,你的学校上榜了没?
  5. 高德地图——关键字检索POI
  6. python悬浮球窗口_实现悬浮窗口
  7. VUE中:printJS使用,附带JsBarcode条码生成器,网页转图片html2canvas,base64上传保存处理,二维码生成库qrcode,二维码/条码扫描识别,domtoimage
  8. 第01章 Spring-Boot 应用文件application配置
  9. 简易移动端爬虫实现pixabay网站图片搜索
  10. 认识数字影片版本(CAM、TS、TC、DVD、HD、BD、TVRIP等)