I avoid WHERE CURRENT OF whenever possible.

I prefer all my tables to have an integer primary key which uniquely
identifies each row.  I retrieve the id with the fetch and do any
updates using theid in the where clause.  I get no suprises that way,
even as the code or table changes.  Even if my cursor fetches a join of
several tables, I can still update any of the included tables using the
appropriate where clauses.

Dennis McGrath

--- "Walker, Buddy" <[EMAIL PROTECTED]> wrote:
> Steve
>   The use of Current of is used when you have declared a cursor for
> instance
>  
>   Normally I would use C1 instead of  cBuildCHKSTR.
>  
>    DECL cBuildCHKSTR CURSOR FOR SEL columnName FROM tableview whe
> ........
>  
>    OPE cBuildCHKSTR
>  
>   WHILE 3 = 3  THEN
>     FETCH cBuildCHKSTR INTO VariableName INDIC IVar
>      IF SQLCODE = 100 THEN
>       BREAK
>      ENDIF
>  
>       UPDATE tableview SET colunmList WHE CURRENT OF C1
>      --This will update the columnList of  whatever row the cursor is
> pointing to at that time.
>  
>   ENDWHIL
>  
>  Hope this helps
>  
> Buddy
>    
> 
> -----Original Message----- 
> From: J. Stephen Wills [mailto:[EMAIL PROTECTED] 
> Sent: Tue 7/15/2003 11:14 AM 
> To: RBASE-L Mailing List 
> Cc: 
> Subject: [RBASE-L] - Read Only Cursor Error?
> 
> 
> I know I've missed something somewhere and I can't find any reference
> to
> it so far, 
> but, how does one make ("un-make") a READ-ONLY CURSOR?
>  
> When I attempt to execute : 
>  
>    UPDATE +
>       TEMP_MASTER +
>    SET +
>       CheckString = (.vCheckString) +
>    WHERE +
>       CURRENT OF cBuildCHKSTR
> 
> I'm getting the following error message :
>  
>    -ERROR- Illegal use of a read-only cursor. (3007)
>  
> I seem to recall that a cursor can be read-only, 
> but I haven't (yet) found any reference thereto
> in the magnetic or paper reference materials I have.
>  
>  
> TIA,
> Steve in Memphis
> 

Reply via email to