1、在用户A中创建视图:VIEW_A
实例:
CREATE OR REPLACE VIEW VIEW_A AS
SELECT * FROM EMPWITH READ ONLY;
comment on table VIEW_A is '视图-测试视图';
2、用户A赋予用户B查询视图的权限
语法:
GRANT SELECT ON 用户A.视图名称 TO 用户B
实例:
GRANT SELECT ON WGQ_DSMS.VIEW_A TO WGQDW;
3、在用户B中创建同义词(非必须)
语法:
CREATE SYNONYM 用户B.同义词名称 FOR 用户A.视图名称;
实例:
CREATE SYNONYM WGQDW.OV_VIEW_A FOR WGQ_DSMS.VIEW_A;
以上三步执行完毕后,在B用户下就可以使用下面查询语句对A用户中的视图(VIEW_A)进行查询:
SELECT * FROM OV_VIEW_A;
如果第三步没有执行,也就是没有在B用户下创建A用户对象的同义词,那么在B用户中查询视图的时候就要带上A用户的用户名,实例如下:
SELECT * FROM WGQ_DSMS.OV_VIEW_A;
两种方式的执行效果是一样的,同样可以查询A用户中的视图。