Subject Re: OODML... querry and help
From Alex Safian <noway@noway.com>
Date Sat, 02 Nov 2019 18:14:11 -0400
Newsgroups dbase.getting-started

Well I have to disagree too -- while I use sql as much as possible, in the case of sql UPDATE to really approximate REPLACE ALL you'd have to use a select subquery -- IOW, if you were replacing a field value with a field value from a different table, or an expression based on a field value from a different table, you'd have to get that other field from a subquery.

And SELECT subqueries can get rather complicated. In my experience the do loop method in this situation is simpler and surprisingly fast.

Akshat Kapoor Wrote:

> On 02/11/2019 08:44, Alex Safian wrote:
> > Hi Prem:
> > Ken's article "XBase to dBASE's Object Oriented Database Manipulation Language (OODML)" is probably the best treatment of the translation from xbase to the new language -- http://www.dbase.com/Knowledgebase/INT/xb2vdb7oodml/x2oodml.htm
> >
> > At the top of the article there is a link to examples.
> >
> > For replace all there is no direct equivalent -- you just do a loop with ...rowset.next() to enforce the skip.
> I would say you are 50% correct. There is no direct equivalent but with
> local sql you can achieve the desired result by a single command.
> I have attached the local sql help for the concerned
>
> Using sql is the fastest way of updating a table.
> A word of warning,
>
> The table will get updated but the rowset already in memory will NOT be
> updated till a requery() is executed.
>
> Regards
> Akshat
>