On 10 Jun 2018, at 2:18am, Andy Goth <andrew.m.g...@gmail.com> wrote:

> However, views make behavior of INSERT and UPDATE clear, since they can
> only operate on the real table.  INSERT or UPDATE become murky when in
> the presence of computed columns.  I suppose the only sane thing to do
> is forbid directly setting the value of a computed column, though what
> would the syntax be?

One cannot set the value of a computed column in INSERT or UPDATE.  An attempt 
to do so yields an error in both SQL SERVER and MySQL.  Also, computed columns 
are skipped in the form of INSERT where the columns are not named.

>   Skip computed columns in the value list?  If two
> tables have the same schema, this should duplicate one into the other,
> but apparently not:
> 
> INSERT INTO table2 SELECT * from table1;

This syntax, when found with a computed column, would be something that the 
SQLite engine would have to notice and act correctly.  The same in the case of 
CREATE TABLE ... SELECT ... .

There are a number of other niggles.  For instance, creating and updating an 
index which includes a VIRTUAL calculated column could be complicated and 
time-consuming.  It may be that for a computed column to appear in an index it 
must be STORED.  On the other hand, the way SQLite works internally might make 
that unnecessary.

Simon.
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to