Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle视图和授权问题_Oracle_View_Grant - Fatal编程技术网

Oracle视图和授权问题

Oracle视图和授权问题,oracle,view,grant,Oracle,View,Grant,如何使用视图的授予和创建来允许用户对表中的某些列具有只读访问权限,但也允许仅更新其中一列 您能否仅为赠款更新指定一个特定列?因此,假设我们有一个表T,其中有col1…col5和用户U,他不应该看到col5()视图(需要),而应该更新col3(不需要视图): 创建视图V,从T中选择col1、col2、col3、col4 将V上的SELECT、UPDATE(col3)授予U 看 编辑:更正错误…请提供更多信息。。。视图是基于1个表还是>1个表?是否允许他更新某个计算/格式化的列?只有一个表,列只包含

如何使用视图的授予和创建来允许用户对表中的某些列具有只读访问权限,但也允许仅更新其中一列


您能否仅为赠款更新指定一个特定列?

因此,假设我们有一个表T,其中有col1…col5和用户U,他不应该看到col5()视图(需要),而应该更新col3(不需要视图):

创建视图V,从T中选择col1、col2、col3、col4

将V上的SELECT、UPDATE(col3)授予U


编辑:更正错误…

请提供更多信息。。。视图是基于1个表还是>1个表?是否允许他更新某个计算/格式化的列?只有一个表,列只包含数据,没有计算或函数。所以基本上,用户应该能够看到表中5列中的4列,但只能更新其中的1列。。。这可以在没有视图的情况下完成。。。但是如果你需要这个视图,请让我知道-如果需要的话,可以补充一下。太好了,我不确定你是否可以在授权中指定一个特定的列。谢谢!谢谢如果你有第二个问题的话,还有一个简单的问题。为了更进一步,在我授予用户更新权限的单个列上,如何在其中放入where子句,以便他们无法更新该列,除非该列的值大于特定数字?当值小于特定数字时,他们是否可以看到行?如果是,则需要在视图上使用“更新前”触发器。。。如果否,则只需将where子句放入视图定义中。是的,当值较小时,他们需要能够看到该列。我看看能不能找到扳机。再次感谢