The real issue is that an ordered view is not editable, or should not be.
If you are going to edit (or browse) a dataset from a view, the view and any 
sub-views should not have order clauses.

But an ordered view is useful for many things so it is not verboten.

Dennis McGrath
Software Developer
QMI Security Solutions
1661 Glenlake Ave
Itasca IL 60143
630-980-8461
[email protected]
From: [email protected] [mailto:[email protected]] On Behalf Of Bruce Chitiea
Sent: Thursday, August 09, 2012 10:51 AM
To: RBASE-L Mailing List
Subject: [RBASE-L] - ORDER BY clauses in Views: Clarification

Bill:

Thanks, and noted.

For now, I'll draw a distinction between an RBase-only world and one requiring 
collaboration with other database products. I stipulate that in the 
collaborative universe, staying true to the SQL standard is the prudent course.

In R:World, View Order-Bys are allowed. I can always draw them ineptly, and 
perhaps in this case build in my own trouble. Perhaps there's no advantage, 
indeed only a waste of clock cycles, even in 'correctly' ordering 'lower level' 
precursor views such as I have here; in which case I'm happy to discard them.

But does your recommendation apply to the 'top level' view in this R:World 
case? Is there ANY advantage to ordering a view? Or do we optimally leave 
ordering to the routines drawing upon the view?

I appreciate your clarity.

Bruce


-------- Original Message --------
Subject: [RBASE-L] - Re: BROWSE Window View Wierdness
From: Bill Downall 
<[email protected]<mailto:[email protected]>>
Date: Wed, August 08, 2012 11:22 am
To: [email protected]<mailto:[email protected]> (RBASE-L Mailing List)

I would eliminate the ORDER BY clauses from the view definitions. R:BASE allows 
it, but the SQL standard does not. And in this case, you may have conflicting 
order by clauses.

Bill
On Wed, Aug 8, 2012 at 8:57 AM, James Bentley 
<[email protected]<mailto:[email protected]>> wrote:
Bruce,
Problem may be in vwMonthlyBudgetIncome. I am not sure about  following 
statement:
"SELECT fymid,unitcount,SUM(uaamt),(SUM(uaamt) * unitcount) +"
since your group by refers to "fymid,unitcount" i am not sure how RBase treats 
the use of two references to "unitcount" in the above select statement. you 
might consider using:
"SELECT fymid,unitcount,SUM(uaamt),(SUM(uaamt) * MAX(unitcount)) +" instead.

I also note you are inconsistent in defining your views:
 CREATE VIEW vwMonthlyBudgetIncome +
(fymid,unitcount,unitdues,budgetincome) AS +

CREATE VIEW vwMonthlyDepositTotal AS +

CREATE VIEW vwMonthlyIncomeSummary AS +

the last two do not name columns as does the first one. I prefer to use the 
syntax of naming all columns as was done in vwMonthlyBudgetIncome.
Jim Bentley,
American Celiac Society
1-504-737-3293<tel:1-504-737-3293>
________________________________
From: Bruce Chitiea <[email protected]<mailto:[email protected]>>
To: RBASE-L Mailing List <[email protected]<mailto:[email protected]>>
Sent: Tuesday, August 7, 2012 7:03 PM
Subject: [RBASE-L] - BROWSE Window View Wierdness

All:

Typo aside, to simplify the message, 'vwGoodToGo' was used to alias view: 
vwMonthlyIncomeSummary:

VIEW: vwMonthlyIncomeSummary

CREATE VIEW vwMonthlyIncomeSummary AS +
SELECT t1.fymid, deptotal, fyyrnum, +
cmyrnum, cmyrabbr, unitdues, unitcount, +
budgetincome, (deptotal-budgetincome) AS depvariance +
FROM vwmonthlydeposittotal t1, +
vwmonthlybudgetincome t2 +
WHERE t2.fymid = t1.fymid +
ORDER BY t1.fymid

******************************
Which draws on two precursor views:

VIEW: vwMonthlyDepositTotal
CREATE VIEW vwMonthlyDepositTotal AS +
SELECT fymid,fyyrnum,cmyrnum,cmyrabbr, SUM(depamt) AS deptotal +
FROM deposit t1,fymonth t2,zcalmonth t3 +
WHERE +
t2.fymid = t1.fymid AND +
t2.cmid = t3.cmid +
GROUP BY fymid,fyyrnum,cmyrnum,cmyrabbr +
ORDER BY fymid

******************************
and:

VIEW: vwMonthlyBudgetIncome

CREATE VIEW vwMonthlyBudgetIncome +
(fymid,unitcount,unitdues,budgetincome) AS +
SELECT fymid,unitcount,SUM(uaamt),(SUM(uaamt) * unitcount) +
FROM ua2fym t1,uc2fym t2 +
WHERE t2.fymid=t1.fymid +
GROUP BY fymid,unitcount +
ORDER BY fymid


******************************

1. All three views perform properly at the R> Prompt.

2. vwMonthlyDepositTotal and vwMonthlyBudgetIncome both perform properly in 
BROWSE windows

3. Only vwMonthlyIncomeSummary fails in BROWSE windows as described in the 
earlier message with:

'Invalid Cursor State (2645)'
'The requested expression does not exist (2144)'

Thanks for your help.

Bruce



Reply via email to