# Re: more on delete from join

Date: Sat, 29 Aug 2009 13:40:42 -0700 (PDT)

Message-ID: <ee6f4aea-a4df-4229-83c9-6426b5c9dc17_at_33g2000vbe.googlegroups.com>

On Aug 29, 5:39 am, Kevin Kirkpatrick <kvnkrkpt..._at_gmail.com> wrote:

> On Aug 28, 6:29 pm, Bob Badour <bbad..._at_pei.sympatico.ca> wrote:

*> > But computers do solve systems of equations:
**> >
**> > x+y = 3
**> > x-y = 1
**>
**> Well, I will grant that. But there is an difference between
**>
**> exp[0]:='x+y = 3'
**> exp[1]:='x-y = 1'
**> print(Solve_system (exp, 'x')); -- prints 2
**>
**> and
**> x+y := 3;
**> x-y := 1;
**> print (x); -- prints 2? (does it? can it? see below...)
**>
**> To see why these must be treated differently, consider:
**>
**> exp[0] := 'x=4'
**> exp[1] := 'x=5'
**> print(Solve_system (exp, 'x')); -- error!
**>
**> vs.
**>
**> x:=4;
**> x:=5; -- no error
**> print(x); -- prints 5 (of course)
**>
**> I simply still see no hole in the following line of reasoning:
**> 1) A query is a value. Its value is of type "valid query" - a string
**> that can be evaluated by the DBMS (returning a relation value).
**> 2) Views are variables that hold values of type 'valid query'.
**> 3) The only sense by which views can be updated is in the sense that
**> their values of type "valid query" can be modified. Below are some
**> valid view assignments:
**> view x, y, z;
**> x:= 'select 5 c1 from dual';
**> y:= 'select 6 c1 from dual';
**> z := 'select * from x union select * from y';
**> 4) As conventionally understood, "updatable views" result in using
**> views as the target of a relational assignment. But this is invalid
**> no matter how you look at it. If the assignment is of form <view> :=
**> <relation>, you've got a type violation (views have type "valid
**> query", not "relation value"); and if you treat it as <query
**> result> := <relation>, you're assigning to a value rather than a
**> variable (which is no more coherent than assignment 5 := 2 + 3;). In
**> other words, both of these are obviously illegal:
**> z := {{c1=7},{c1=8}};
**> {{c1=5},{c1=6}} := {{c1=7},{c1=8}};
*

This is a good post, and I agree with your reasoning. Received on Sat Aug 29 2009 - 22:40:42 CEST