繁体   English   中英

如何在Oracle中允许更新视图的结果?

[英]How to permit update of a view's results in Oracle?

我了解数据库视图是只读的,或者默认情况下至少是只读的。

是否可以启用由oracle视图带来的数据更改?

改写:如果我仅查看一个表,只是为了隐藏一些列,对此数据的更改会在表上更新吗?

是的,可以修改Oracle视图。

但是,有一些限制:

我不相信默认情况下Oracle视图是只读的...单个表视图应该是可更新的,前提是它不包含DISTINCT或GROUP BY这样的多行操作。 有问题的用户必须已被授予UPDATE VIEW privs。

如果您有权限更新有问题的视图,那么删除列的简单视图绝对应该是可更新的...

GRANT UPDATE ON your_view_name TO your_user;

当您尝试运行UPDATE语句时遇到什么错误?

在oracle中,视图不包含其自身的基本数据。 因此,如果您的视图允许更新,则基础表将被更新。

如果您需要更多信息,请查看Oracle概念指南中的“视图”部分。

http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/schema.htm#sthref787

还可以在“创建视图” sql命令中找到更多信息。

http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_8004.htm#SQLRF01504

希望这可以帮助

问候

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM