zoukankan      html  css  js  c++  java
  • return sql ret

    simple way:
     
    --创建procedure
    create or replace procedure sql_test(out_return out sys_refcursor) is
    begin
      open out_return for 'select * from tgp_funds';
    end;
     
     
    https://zhidao.baidu.com/question/922899782581115539.html
     
    http://blog.csdn.net/xwq911/article/details/46278901
    导读:在Oracle数据库存储过程中如果用了select语句,要么使用"select into 变量"语句要么使用游标,oracle不支持单独的select语句。

    先看下这个存储过程:

    create or replace procedure pro_test 
    is 
    begin 
    select * from t_test; 
    end pro_test;

    这个存储过程正确吗?

    昨天因为这个,耽误了好久(在一个存储过程中用了select语句,但既没有用游标也没有用into).

    在存储过程(oracle数据库)中如果用了select语句,要么使用"select into 变量"语句要么使用游标,oracle不支持单独的select语句(如表述有误请指出).

    select into 比较简单,但是如果返回的是一个结果集就无法满足要求了.

    游标分Cursor型游标和SYS_REFCURSOR型游标两种

    Cursor型游标--不能用于参数传递

    create or replace procedure pro_test() is

    cusor_1 Cursor is select 字段名 from 表名 where 条件;

    (或者

    select class_name into cursor_2 from class where ...;

    cursor的另一种用法,需要写在begin和end之间)

    begin

    select class_name into cursor_2 from class where ...;

    可以使用

    for xxx in cursor

    loop

    ....

    end loop; --对Cursor进行遍历

    end pro_test;

    SYS_REFCURSOR型游标

    create or replace procedure pro_test(rsCursor out SYS_REFCURSOR) is

    cursor SYS_REFCURSOR;

    name varhcar(20);

    begin

    open cursor for

    select name from student where ...; --使用open来打开进行赋值

    --遍历

    loop

    fetch cursor into name --fetch into来打开遍历的每条数据

    exit when cursor%NOTFOUND; --未找到记录信息

    dbms_output.putline(xxxx);

    end loop;

    rsCursor := cursor;

    end pro_test;

    http://www.cnblogs.com/sc-xx/archive/2011/12/03/2275084.html

  • 相关阅读:
    CoreData和SQLite多线程访问时的线程安全问题
    JSPatch 实现原理详解
    iOS开发工程师必备技能(持续更新)
    iOS音频播放、录音、视频播放、拍照、视频录制
    使用MVVM减少控制器代码实战(减少56%)
    如何结合场景利用block进行回调
    Masonry框架源码深度解析
    Ubantu编译安装FFmpeg
    HTTP Live Streaming网络视频直播调研
    RHEL/CentOS 6的更新源
  • 原文地址:https://www.cnblogs.com/ppqchina/p/6512851.html
Copyright © 2011-2022 走看看