CREATE OR REPLACE PACKAGE pkg_test
AS
   TYPE myrctype IS REF CURSOR;
END pkg_test;
/
CREATE PROCEDURE sp_fauleinfo(pAgentID in varchar2,p_rc out pkg_test.myrctype)
AS
begin
open p_rc for 'Select Agent_id,Agent_name from failinfo where AgentID='||pAgentID;
end;

解决方案 »

  1.   

    请举个例子,以前在sqlserver里没这么复杂呀。
      

  2.   

    我写了个这样的:在c++builder中怎么调用该存储过程呀
    create or replace package scott.ljyPac is
           type ljyType is ref cursor;
           procedure ljy1( x OUT scott.ljyPac.ljyType );
    end ljyPac;create or replace procedure scott.ljy1( x out SCOTT.LJYPAC.ljyType ) is
    begin
     open x for select * from scott.emp;     
    end ljy1;
      

  3.   

    有了这样的存储过程,在用C++BUILDER编写应用程序时,怎么调用该存储过程,显示结果集。
      

  4.   

    CREATE OR REPLACE PACKAGE aa
    AS
       TYPE myrctype IS REF CURSOR;
    END aa;
    /
    create procedure a(p_cur out aa.myrctype)
    as
    str varchar2(200);
    begin
    str:='select * from SCOTT.EMP';
    open p_cur for str;
    end;
    /
      

  5.   

    楼上已清楚,这与sql server大有不同,过程中不能直接出现查询语句,oracle要用游标返回记录集
      

  6.   

    不是有个控键是调用过程与函数的吗:
    你找到那个控键,:应该是(TStoredProc)看下帮助
      

  7.   

    我用TStoredProc控件了,并设置输出参数的类型为ftReference,但是激活该控件时就出错,
    “Operation not applicable""
      

  8.   

    我用这个TStroedProc这个控件了,并设置了输出参数的类型为ftReference,但是激活该控件就出错“Operation not applicable”
      

  9.   

    这2天,刚学习oracle,想通过学习编写存储过程来熟悉PL/SQL,没想到这么复杂。
      

  10.   

    就不能返回select 的结果集?
      

  11.   

    函数能返回游标类型的数据吗?如果能,在函数中返回游标类型的数据,在C++BUILDER 用
    select * from fun_name(); 不就可以了吗?
      

  12.   

    我用的是DELPHI ,调用存储过程已经搞定你去找找delphi 版DATABASE 中我发的贴子
      

  13.   

    搜  JCC0128的贴子,关键字填  % 作者  JCC0128
      

  14.   

    详解: 
    http://expert.csdn.net/Expert/topic/1999/1999981.xml?temp=.9277002