博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle 存储过程 stored procedure 查询一条记录或多条记录
阅读量:4308 次
发布时间:2019-06-06

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

创建基本表

-- Create table

create table USER_INFORMATION

(

P_ID            NUMBER,

USER_LOGIN_NAME NVARCHAR2(30)

)

创建包:

create or replace package pack_test is  

       type cur_test is ref cursor;  

end pack_test; 

/  

--这个不能少呀,加上这个就可以在sql/plus中运行了,这个是结束符号

创建存储过程

create or replace procedure proc_cur(p_id in number,p_cur out pack_test.cur_test)   

is   

       v_sql varchar2(400);

begin  

       if p_id = 0 then   

          open p_cur for select * from user_information;   

       else   

          v_sql := 'select * from user_information where id =: p_id';   

          open p_cur for v_sql using p_id;   

       end if;   

end proc_cur;

测试存储过程

-- Test statements here  

set serveroutput on

declare   

 v_id number := 0;  

 v_row USER_INFORMATION%rowtype;   --注意这里是表名

 p_cur pack_test.cur_test;

begin   

 proc_cur(v_id, p_cur);  

 loop  

    fetch p_cur into v_row;  

    exit when p_cur%notfound;  

    DBMS_OUTPUT.PUT_LINE(v_row.USER_LOGIN_NAME||'='||v_row.P_ID);  

 end loop;  

 close p_cur;  

end

/  

 --语句块结束符号

转载于:https://www.cnblogs.com/shihao/archive/2012/09/26/2704423.html

你可能感兴趣的文章
对于模拟交易所引发的思考
查看>>
高频交易的几种策略
查看>>
量化策略回测TRIXKDJ
查看>>
量化策略回测唐安奇通道
查看>>
CTA策略如何过滤部分震荡行情?
查看>>
量化策略回测DualThrust
查看>>
量化策略回测BoolC
查看>>
量化策略回测DCCV2
查看>>
mongodb查询优化
查看>>
五步git操作搞定Github中fork的项目与原作者同步
查看>>
git 删除远程分支
查看>>
删远端分支报错remote refs do not exist或git: refusing to delete the current branch解决方法
查看>>
python multiprocessing遇到Can’t pickle instancemethod问题
查看>>
APP真机测试及发布
查看>>
通知机制 (Notifications)
查看>>
10 Things You Need To Know About Cocoa Auto Layout
查看>>
一个异步网络请求的坑:关于NSURLConnection和NSRunLoopCommonModes
查看>>
iOS 如何放大按钮点击热区
查看>>
ios设备唯一标识获取策略
查看>>
获取推送通知的DeviceToken
查看>>