Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Maximum global variables????
I'm sorry, but it wasn't until I posted that I realized that I didn't
specify the operation entered into the routine. In our case, it
happened to be 56, not the 9999 on the returned row. If I had entered
9999, and received that row along with a too many rows error, I could
understand it. Instead, I ask for operation 56. The query returns a
spindle pointed to with operation 9999, and too many rows, not a
spindle with the proper operation.
Running the query in SQLPLUS, or changing the global operation to a local "fixes" the problem, I just get the only row in the database with operation 56, and I don't have a clue why it doesn't work with the global. Hence my subject of a limit on global variables.....
Terry Steyaert
steyaert_at_my-deja.com
In article <8cic30$19m$1_at_nnrp1.deja.com>,
rtproffitt_at_my-deja.com wrote:
> Terry,
> > EXEC SQL SELECT CELL_NO, PORT_NO, BETALINK, SPINDLE
> > INTO :cell_no, :port_no, :betalink, :spindle
> > FROM SPINDLE
> > WHERE OPERATION = :operation;
>
> TOO_MANY_ROWS is caused by more than one row returning
> to the implied cursor.
>
> If you run the select by itelf with operation 9999
> you will see many rows returned.
>
> I think you said it yourself:
> >...OPERATION is NOT an index (an operation will be
> > unique, except a spindle without an operation assigned will be 0, so
> > there will be many zeros, but we make sure there is only one
operation
> > of a non-zero number.)
> >
> Even though you say that you make sure there is only one non-zero
> number, your query does not reflect this. You need something like:
> EXEC SQL SELECT CELL_NO, PORT_NO, BETALINK, SPINDLE
> INTO :cell_no, :port_no, :betalink, :spindle
> FROM SPINDLE
> WHERE OPERATION = :operation
> AND Spindle != 0;
>
> Robert Proffitt
> Beckman Coulter
Sent via Deja.com http://www.deja.com/
Before you buy.
Received on Fri Apr 07 2000 - 12:52:57 CDT
![]() |
![]() |