On Tue, Apr 18, 2017 at 12:04 AM, Hick Gunter <h...@scigames.at> wrote:

> A TVF is just a "calling convention" for abbreviating a specific SELECT on
> a virtual table. It implies neither mutability of the returned values, nor
> persistence beyond the scope of the statement. Indeed the carray() example
> you give later is an eponymous ephemeral table, i.e. it does not require a
> CREATE VIRTUAL TABLE statement, but springs into existence by virtue of
> being mentioned (technically: it is created in the xFilter method) and
> "evaporates" when the cursor is closed.
>

​Yes, I'm aware of this and have implemented table-valued functions and
many other SQLite extensions.  I understand how things work.  I raise
the question because it seems possible in other SQL languages[1][2].
And, to me at least, it makes logical sense (hence the carray example).

If you want a mutable, persistent non-native table, then please document
> this fact by executing a CREATE VIRTUAL TABLE statement.
>

​I'm ​not sure what you're saying here.  I'm asking for the SQLite syntax
to be changed to support table-valued functions for INSERT/UPDATE
statements.

​tim​

[1] - http://sqlblog.com/blogs/greg_low/archive/2011/05/22/
update-against-a-table-valued-function-when-declared-inline.aspx
​[2] - http://stackoverflow.com/questions/16568454/is-a-table-
valued-function-updatable
​

-----Ursprüngliche Nachricht-----
> Von: sqlite-users [mailto:sqlite-users-boun...@mailinglists.sqlite.org]
> Im Auftrag von Timothy Stack
> Gesendet: Sonntag, 16. April 2017 23:57
> An: SQLite mailing list <sqlite-users@mailinglists.sqlite.org>
> Betreff: [sqlite] performing an UPDATE on a table-valued function
>
> The current table-valued function feature seems to only work for SELECT
> statements.  Was any thought given to whether updates would be supported
> for table-valued functions?  It seems like it's technically possible and
> could be made to work right now with this awkward syntax:
>
>   UPDATE foo SET col0 = 'bar' WHERE hidden_field = 'baz'
>
> Having the real syntax, like the following, would be nice though:
>
>   UPDATE foo('baz') SET col0 = 'bar'
>
> thanks,
>
> tim stack
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>
>
> ___________________________________________
>  Gunter Hick
> Software Engineer
> Scientific Games International GmbH
> FN 157284 a, HG Wien
> Klitschgasse 2-4, A-1130 Vienna, Austria
> Tel: +43 1 80100 0
> E-Mail: h...@scigames.at
>
> This communication (including any attachments) is intended for the use of
> the intended recipient(s) only and may contain information that is
> confidential, privileged or legally protected. Any unauthorized use or
> dissemination of this communication is strictly prohibited. If you have
> received this communication in error, please immediately notify the sender
> by return e-mail message and delete all copies of the original
> communication. Thank you for your cooperation.
>
>
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to