[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference orarep::nomahs::sql

Title:SQL notes
Moderator:NOVA::SMITHI
Created:Wed Aug 27 1986
Last Modified:Thu Jun 05 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:3895
Total number of notes:17726

3871.0. "Another Bugcheck at SQL$$WALK_UPDATE" by M5::BLEHLBAC (RDB: 34% better than real life) Fri Mar 07 1997 12:13

Hi,

  This is similar to note 3661 in SQL.

  Bugcheck at SQL$$WALK_UPDATE + 000001CE

  Customer is on 6.0-0 and I've recommended he upgrade.

  However, was this type of problem ever fixed??  I did a search on
subsequent release notes and didn't find an reference to SQL$$WALK_UPDATE.

  He gets the error with the attched interactive query on both the
vax and axp.

  Any enlightenment/workarounds would be appreciated.
  
                            Thanks, Barry



------------------------------------------------------------------------------- 
-- 
set transaction read write; 
-- 
set verify; 
-- 
BEGIN 
	FOR :locrec 
		AS EACH ROW OF UPDATE ONLY TABLE CURSOR loc_phy_rows FOR 
			SELECT a.locator 
			FROM	locator_inventory AS a, 
				locator_physical AS b 
 
			WHERE	a.status = 35 AND 
				b.locator = a.locator AND 
				b.parcel_status IN (1,6,7,10,20,28) 
		DO 
			UPDATE locator_physical 
			SET	parcel_status = 2 
			WHERE	CURRENT OF loc_phy_rows; 
	END FOR; 
END; 
-- 
rollback; 
-- 
-------------------------------------------------------------------------------
T.RTitleUserPersonal
Name
DateLines
3871.1NOVA::SMITHIDon't understate or underestimate Rdb!Fri Mar 07 1997 12:5423
Well SQL should tell you that the UPDATE is illegal.  You can not update a
cursor which contains a JOIN.  Please submit a BUG report.

Try this instead.

BEGIN 
	FOR :locrec 
		AS EACH ROW OF UPDATE ONLY TABLE CURSOR loc_phy_rows FOR 
			SELECT a.locator, b.dbkey
			FROM	locator_inventory AS a, 
				locator_physical AS b 
 
			WHERE	a.status = 35 AND 
				b.locator = a.locator AND 
				b.parcel_status IN (1,6,7,10,20,28) 
		DO 
			UPDATE locator_physical 
			SET	parcel_status = 2 
			WHERE	dbkey = :locrec.dbkey;
	END FOR; 
END; 

Ian
3871.2DUCATI::LASTOVICAIs it possible to be totally partial?Fri Mar 07 1997 12:541
note 3661.1 requested a BUG report.  Was one ever submitted?
3871.3thanksM5::BLEHLBACRDB: 34% better than real lifeFri Mar 07 1997 13:367
re: .1
   ...  thanks Ian.


re: .2
   ...  I just KNEW someone would ask me that!!  I'll need to check.
3871.4DUCATI::LASTOVICAIs it possible to be totally partial?Fri Mar 07 1997 14:226
>re: .2
>   ...  I just KNEW someone would ask me that!!  I'll need to check.

	I was just guessing that since Ian had requested that you submit
one when you first reported the problem, one would have been submitted
then.
3871.5BugNo:464771M5::BLEHLBACRDB: 34% better than real lifeFri Mar 14 1997 08:089
>>	I was just guessing that since Ian had requested that you submit
>>one when you first reported the problem, one would have been submitted
>>then.

Well, I checked and it appears that I didn't.  I'll check to see if Jay did.
I apologize if we didn't.  I always try to accomodate the suggestions
and requests of the engineers to are kind enough to respond in the notes
conferences.  Anyway, I did bug this - BugNo:464771.
3871.6fixed in version 7.0NOVA::STONEMon Mar 24 1997 16:162
The bug was fixed in version 7.0.  Now a message will be returned explaining 
that the cursor is read only.