ArcGIS Pro 3.2.1; Oracle 18c 10.7.1 EGDB:
The Query Layer docs say:
- Query layers are read only when accessed directly from a database connection.
- To edit database tables that are accessed as a query layer, share as a web feature layer and access from your portal. The query layer cannot contain virtual columns, where clauses, or joins.
What is the point of a query layer that doesn’t have virtual columns (I assume this means calculated columns in the SELECT clause, such as SQL expressions), where clauses, or joins? I imagine GROUP BY and other more advanced/database-specific clauses are not allowed either.
What does that leave in terms of SQL functionality? SELECT * FROM TABLE ? If yes, what benefit is there in having a SELECT * query layer? Why not just edit the underlying table directly?
Is this functionality intended for editing non-GDB tables, since non-GDB tables are not normally editable in Pro and are automatically treated as query layers?
In other words, I was surprised to learn that query layer data can be editable in Pro. But I don’t understand what the use case is when the SQL would be so limited. And I don’t understand why where clauses aren’t allowed. For example, outside of ArcGIS, Oracle database views are editable under certain conditions and I believe where clauses are allowed. In Oracle, is it possible to INSERT or UPDATE a record through a view?
Where clauses are allowed when editing a table. Why not allow where clauses in an editable query layer?
I’m still wondering about this.