Unknown PL/SQL error

From: David Hays <dhays_at_adcmail.atlas.com>
Date: Wed, 22 Jun 1994 16:28:28 GMT
Message-ID: <1994Jun22.162828.8719_at_atlas.com>


Hi,
A co-worker of mine has brought an error to me which she received from a PL/SQL block inside SQL*Plus.

She gets no numbered user error, rather simply:

     "longjump botch"

then, gets disconnected from the database. All subsequent error messages pertain to the fact that she is no longer connected.

  1. What causes this?? I have never run across it.
  2. Can the Where clause portion of a cursor declaration contain the (yet undefined) results of a declared but unopened cursor? I dont believe I have ever had the need to try this, but it seems like it should be valid, as long as she opens the dependant cursor after the the first one (independant) has been opened.

For other reasons, I am going to make suggestions for rewriting her particular query, but I am baffled by the error this receives. What worries me is that I have tried and failed to reproduce the error on other Oracle databases. The Oracle she ran this against was

                6.0.33.1.7 RDBMS
                3.0.9.1.2  SQL*PLUS
                ( I believe PL/SQL is not a separate product,
                  ...or I dont know the version number )

Specifically, she has 3 defined cursors something like:

. . . . . . . Stuff deleted . . . . .
             

DECLARE

        CURSOR pstn_query IS SELECT PNUM,NAME,DSQ
                          FROM TABLE1
                          order by PNUM asc;

        pstn_ptr pstn_query%rowtype;
        pstn_next pstn_query%rowtype;

        CURSOR dsq_query IS SELECT DSWD
                         FROM TABLE2
                         WHERE TABLE2.DSNUM = pstn_ptr.dsq;

        dsq_ptr dsq_query%rowtype;

        CURSOR dgrp_query IS SELECT FEG
                         FROM TABLE3
                         WHERE TABLE3.DGNUM = pstn_ptr.dswd;

        dgrp_ptr dgrp_query%rowtype;


. . . . . . . Stuff deleted . . . . .
Received on Wed Jun 22 1994 - 18:28:28 CEST

Original text of this message