Marcos Barreto de Castro wrote:
>
> Hi,
>
> Suppose there is a table that's being shared among 5
> computers at the same time.
> Suppose I've created a CURSOR for a SELECT * FROM
> <that table> GROUP BY <column1>.
> Suppose I have fetched the 3rd record and am going
> to fetch the 4th and in the meantime someone at
> another computer just DELETED that 4th record from
> that table. Will the fetch succeed? Will the record
> be shown although it no longer exists in the table?
Yes the fetch will succeed. A cursor is a set of tuples
and after the cursor is created, the tuples will remain
no matter what happend to the actual table.
> And if someone at another computer had inserted a new
> record which, according to my GROUP BY clause, would
> be the 4th, would it be shown for the next fetch?
No.
> My big questions are: Do CURSORS perform their
> SELECT operations in the TABLE directly or in a file?
> Any changes to rows selected through a CURSOR will be
> shown right away or they will only appear as I perform
> another SELECT?
They will appear in the next SELECT unless it's in the
same transaction.
> Is there a book that I could read in order to get a
> better knowledge on SQL implementation or even a
> website where I could read about this?
Look like you need to learn about transactions.
Sorry, can't suggest a good site.
--
Martijn van Oosterhout <kleptog@cupid.suninternet.com>
http://cupid.suninternet.com/~kleptog/