oracle – 向差异架构的用户授予权限
发布时间:2021-05-16 23:47:14 所属栏目:站长百科 来源:网络整理
导读:我在Schema A中有表.我行使模式A中的表在Schema B中建设了视图. 我想授予用户权限,以便从Schema B中的视图中选择数据. 为了实现这个目标,我知道我们必需在Schema A中的表上为用户B启用grant选项. 可是我想在一个剧本中完成它(这个剧本必需在模式B中).有没有
我在Schema A中有表.我行使模式A中的表在Schema B中建设了视图. 我想授予用户权限,以便从Schema B中的视图中选择数据. 为了实现这个目标,我知道我们必需在Schema A中的表上为用户B启用grant选项. 以是你想要的剧本看起来像这样: grant select on user_a.t23 to user_b / grant select on user_a.t42 to user_b / create view user_b.v_69 as select t23.col1,t42.col2 from user_a.t42 join user_a.t23 on (t42.id = t23.id) / grant select on user_b.v_69 to user_c / 一个常见的场景是我们有一套单独的剧本,这些剧本已被编写为由差异的用户运行,但我们此刻必要绑缚到单个陈设中.原始剧本不包括模式名称,而且有许多很好的来由可以表明为什么我们不想在剧本中对它们举办硬编码. 构建该主剧本的一种要领是行使变动CURRENT_SCHEMA语法: alter session set current_schema=USER_A / @run_grants_to_userb.sql alter session set current_schema=USER_B / @create_view69.sql @run_grants_to_userc.sql 我们如故必要DBA用户来运行主剧本.切换当前模式的一个利益是它应承我们陈设像数据库链接这样的工具,这些工具通过语法的怪癖在其声明中不能具有模式名称.一个题目是用户不会改变,因此行使USER伪列的剧本也许会发生不必要的功效. (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐
热点阅读