在别的地方都看到可以在
VB中用这个进行ORACLE过程调用
但我用时总出错,说
未定义的标志符p_IDs(在过程中是index_by表的输出参数),QSQL = "{call B2.AddTab({resultset 24,p_IDs,p_Num })}"
Set CPw3 = New ADODB.Command  为什么呀?

解决方案 »

  1.   

    TYPE t_tabId IS TABLE OF river.name%TYPE index by BINARY_INTEGER;具体过程如下:
    create or replace packeage body B2
       AS
    PROCEDURE AddTab(p_IDs out t_tabId,p_Num out binary_integer)
     IS
    v_tabname river.name%TYPE;
    p_numb binary_integer:=0;
    CURSOR c_Tabnames IS
    select table_name from user_tables where table_name not like '%$';BEGIN
    p_Num:=0;
    /*LOOP TO ADD RECORDE INTO THE p_IDs*/
    OPEN c_Tabnames;
    LOOP
    FETCH c_Tabnames into v_tabname;
    EXIT WHEN c_Tabnames%NOTFOUND;
     p_numb:=p_numb+1; 
     p_IDs(p_numb):=v_tabname;
    END LOOP;
     p_Num:=p_numb;
    close c_Tabnames;
    END AddTab;
    END B2;
    谢谢各位拉!!!