| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: Unknown SQL
On Fri, 4 May 2001 17:14:57 +0200,
"Carl" == Carl Rosenberger <carl_at_db4o.com> wrote:
Carl> There is one exception here: Statements for mass updates have no means Carl> to resolve locking conflicts.
agreed, but I practice you would consider these things exceptions, and in such a case a rollback on the complete mass update, if not essential, acceptable.
Carl> Transactions do not have anything to do with the problem.
I agree, but only if we're talking about OODBMSs and if it has transactions (I suppose most do).
Carl>We are talking about two totally different tasks: Carl> - Mass updates with simple statements. Carl> - Mapping objects.
There are a few that I left out, but which are very relevant when managing large datasets:
Carl> Mass-update-statements might very well be suitable for object databases for Carl> specific tasks. Two solutions come to my mind: Carl> - Declarative update staments
Do you mean something like
UPDATE Customers c
SET c.balance = c.balance +
(SELECT SUM(amount)
FROM Payments p
WHERE c.custid = p.custid
AND p.date > c.last_update
HAVING SUM(amount) > 0.0) ,
c.last_update = TODAY()
If OODBMs offer this, excellent. I haven't seen the query capability necessary for this yet, though.
Carl> - A callback interface "Updateable". The update() method would be called Carl> with every object of the resultset of a query.
So you would have 1 million callbacks if the result set is that big? You prolly want to put the update() or commit() method on the objectSet, not on the individual objects.
Cheers,
Philip
-- If you have a procedure with 10 parameters, you probably missed some. (Kraulis) ----------------------------------------------------------------------------- Philip Lijnzaad, lijnzaad_at_ebi.ac.uk \ European Bioinformatics Institute,rm A2-08 +44 (0)1223 49 4639 / Wellcome Trust Genome Campus, Hinxton +44 (0)1223 49 4468 (fax) \ Cambridgeshire CB10 1SD, GREAT BRITAIN PGP fingerprint: E1 03 BF 80 94 61 B6 FC 50 3D 1F 64 40 75 FB 53Received on Sat Jul 21 2001 - 13:01:41 CDT
![]() |
![]() |