WL#3821: TRUNCATE for VIEWs
Affects: Server-7.1 — Status: Un-Assigned — Priority: Medium
TRUNCATE is an Oracle compatibility feature. It is defined as a DDL, an atomic DROP+CREATE (but without removing dependencies, e.g. triggers). As such it - is not part of the transaction, cannot be rolled back - requires DROP privilege - does not fire ON DELETE triggers - does not work for views (DROP+CREATE for a view makes no sense) Note that TRUNCATE is *not* a DELETE, otherwise it'd be part of the transaction, could've been rolled back, would require DELETE privilege, and would fire ON DELETE triggers. Anyway, Monty thinks it may make sense to support TRUNCATE for views in certain cases. "For views without a where clause and only uses one table it would be nice to have truncate". But to solve the question of privileges we'll need a dedicated TRUNCATE privilege, says Monty. So, the subject of this WL is: - add a TRUNCATE privilege - support TRUNCATE for "table-wrapper" views, that is views that only use one table and don't have a WHERE clause (and are updatable)
Copyright (c) 2000, 2017, Oracle Corporation and/or its affiliates. All rights reserved.