Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> pls-00597

pls-00597

From: Scott Mattes <Scott_at_TheMattesFamily.ws>
Date: Mon, 28 Mar 2005 14:37:42 -0600
Message-ID: <Xns96279F030F258ScottatTheMattesFami@216.196.97.142>


I have 9.2.01 installed on my Windows notebook and I am wondering if my problem (see below) is fixed in 9.2.0.2 or .4 (the only other 9i versions available for download on Oracle's website). Thank you for any help you can provide. I know that this isn't an issue with 9.2.0.6, but that is at the office and I really want to do this work at home.  

I get the following msg

   pls-00597: expression 's_tbl_s_to_delete_rcds' in the INTO list is of wrong type

when I try executing a procedure with

      CURSOR c_to_delete IS
        SELECT * 
          FROM ( SELECT fld1,
                        fld2, 
                        substr( s.image, 45, 21 ) s_l_n,
                        row_number() over( PARTITION BY Ifpl.i_f_M_H_P,
                                                        Ifpl.i_f_M_N,
                                                        Ifpl.i_f_L_N,
                                                        Ifpl.i_f_L_C,
                                                        substr( s.image, 
45, 21 )
                                               ORDER BY Ifpl.i_f_M_H_P,
                                                        Ifpl.i_f_M_Num,
                                                        Ifpl.i_f_L_Num,
                                                        Ifpl.i_f_L_Ctr,
                                                        substr( s.image, 
45, 21 ),
                                                        s.s_tbl_pk DESC 
) AS row_num
                   FROM i_f_p_l ifpl,
                        s_tbl s,
                        s_tbl_la sl
                  WHERE Ifpl.A_I = 'XYZ'
                    AND s.i_f_p_l_p IN ( SELECT i_f_p_l_p
                                                         FROM s_tbl
                                                        WHERE i_f_p_L_p 
= ifpl.i_f_p_L_p
                                                          AND ( s_n IS 
NOT NULL
                                                                OR
                                                                l_n IS 
NOT NULL ) )
                    AND s.s_tbl_pk = sl.s_tbl_pk (+)
                    AND Ifpl.i_f_M_H_P = a_r.i_f_M_H_P
                    AND Ifpl.i_f_M_Num    = a_r.i_f_M_N
                    AND Ifpl.i_f_L_Num   = a_r.i_f_L_N
                    AND Ifpl.i_f_L_Ctr   = a_r.i_f_L_C )
         WHERE row_num > 1;
    
      TYPE to_delete_type iS TABLE OF c_to_delete%ROWTYPE INDEX BY 
BINARY_INTEGER;            s_tbl_s_to_delete_rcds to_delete_type;

      open c_to_delete;

      fetch c_to_delete BULK COLLECT
       into s_tbl_s_to_delete_rcds;
Received on Mon Mar 28 2005 - 14:37:42 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US