我有一个使用用户/模式A运行的Oracle APEX应用程序,我想访问驻留在模式/用户B中的数据。在模式A或B中创建这些视图是否更有意义?视图是否应该始终驻留在拥有数据的同一模式中?
2w3rbyxf1#
你有很多选择。重要的是,用户B应该(至少)授予用户A SELECT权限-否则,A无法访问B的数据。如果用户驻留在不同的数据库中,那么它不是关于 * 赠款 *;你必须在它们之间创建一个数据库链接(但我想这里不是这样)。下一步是什么?创建视图!去哪?你想去哪都行。
select * from b.some_view
另一个选项是在模式A中创建同义词:
create synonym some_view for b.some_view;
然后你会把它作为
select * from some_view;
create view some_view as select e.employee_name, e.employee_id from b.employees e
当然,也可以把它当作
select * From some_View
有什么更好的选择?看不出来;两种方法都可以,选择你最喜欢的一种。
1条答案
按热度按时间2w3rbyxf1#
你有很多选择。
重要的是,用户B应该(至少)授予用户A SELECT权限-否则,A无法访问B的数据。
如果用户驻留在不同的数据库中,那么它不是关于 * 赠款 *;你必须在它们之间创建一个数据库链接(但我想这里不是这样)。
下一步是什么?创建视图!去哪?你想去哪都行。
另一个选项是在模式A中创建同义词:
然后你会把它作为
当然,也可以把它当作
有什么更好的选择?看不出来;两种方法都可以,选择你最喜欢的一种。