ORACLE存储过程学习笔记

本文介绍了一个具体的PL/SQL过程示例,包括如何创建带参数的过程及使用DBMS_OUTPUT进行输出。此外,还展示了如何声明并使用游标进行数据检索,并通过条件判断输出指定的数据记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建 带有参数的 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值