当我尝试在属于我正在使用的用户的表上插入值时,会发生此错误:
SQL Error: ORA-01732: data manipulation operation not legal on this view
*Cause:
*Action:
Run Code Online (Sandbox Code Playgroud)
在所有地方,人们都说它在尝试在视图上插入/更新/删除时会发生,但它肯定是一个表,并且用户具有所需的权限.
那么,除了尝试使用视图进行非法操作之外,还有其他原因吗?
我将激活 SQL 跟踪并再次尝试插入,然后查看跟踪文件以确定到底是哪个 SQL 语句导致了错误。
如果按照其他人的建议,它是由触发器针对某个其他对象执行的 SQL,那么您将在跟踪中看到它作为递归 SQL,并且很清楚涉及哪个对象。
如果跟踪中没有递归 SQL,那么您可能没有访问您认为的对象,并且跟踪应该显示正在使用的实际对象 ID,您可以根据数据字典进行检查。
如果它确实只是一个表,并且不涉及递归 SQL,那么听起来您有一个需要 Oracle 支持的案例。