博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ORACLE存储过程学习笔记
阅读量:6828 次
发布时间:2019-06-26

本文共 1262 字,大约阅读时间需要 4 分钟。

hot3.png

创建 带有参数的 test create or replace procedure test(a in int:=0,b in int:=0) is c int:=0; begin c:=a+b; dbms_output.put_line(c); end test;

--使用游标

declare cursor mycur is select t.sheet_id,t.VW_186 from hdb.hdb_sheet_2_v t;-- 定义游标 sheet_id hdb.hdb_sheet_2_v.sheet_id%type; --定义变量 VW_186 hdb.hdb_sheet_2_v.VW_186%type; --定义变量 begin DBMS_OUTPUT.ENABLE (buffer_size=>null) ; --设置DBMS的大小为null也就是不限制,否则报错ORA-20000: ORU-10027: buffer overflow,.... open mycur;--打开游标 loop --循环开始 fetch mycur into sheet_id,VW_186;--赋值 exit when mycur%notfound;--如果游标是空 则退出 if mycur%found then--如果游标不是空则执行打印 dbms_output.put_line(mycur%rowcount||'行'||' '||sheet_id||' '||VW_186); end if; end loop; dbms_output.put_line('我发现'||mycur%rowcount||'行'); close mycur; end;

--实现带参数动态输入 declare cursor query(vname varchar2) is select t.* from hdb.hdb_sheet_2_v t where t.VW_106 like '%'||vname||'%'; name1 varchar(10) :='于洪'; begin DBMS_OUTPUT.ENABLE (buffer_size=>null) ; name1:=upper('&name1'); for line in query(name1) loop exit when query%notfound; if query%found then dbms_output.put_line(query%rowcount||'行'||' '||line.sheet_id||' '||line.vw_186||' '||line.vw_106); end if; end loop; dbms_output.put_line('我发现'||query%rowcount||'行'); close query; end;

转载于:https://my.oschina.net/VWRpBbK/blog/130883

你可能感兴趣的文章
网络协议
查看>>
SecureCRT右键粘贴的设置
查看>>
TurboMail邮件系统定制同步某地产集团微软活动目录服务(AD)用户数据
查看>>
华章9-10月份新书简介(2016年)
查看>>
【Tomcat】面向初级 Web 开发人员的 Tomcat
查看>>
浏览器屏幕宽度相关值得获取
查看>>
vue.js模拟后端请求
查看>>
我的友情链接
查看>>
45 个非常有用的 Oracle 查询语句
查看>>
C#控制台应用程序下 string[] args参数用处
查看>>
linux下vi编辑器命令大全
查看>>
程序员的爱情
查看>>
MySQL 备份和恢复策略
查看>>
简单网络管理协议snmp
查看>>
语言和封装那些事
查看>>
postgres 数据备份与恢复
查看>>
Spring学习总结(2)——Spring的常用注解
查看>>
Java基础学习总结(16)——Java制作证书的工具keytool用法总结
查看>>
Docker镜像与容器命令
查看>>
EFCore笔记之查询数据
查看>>