2012-12-04 128 views
1

我有2个数据库的Oracle SQL Developer连接,CN1和CN2(具有不同的架构)查询多个数据库连接

我需要创建一个视图,基于来自DB的,该方法列:

Create VIEW testviewAS (SELECT col1, col2, col3 FROM con1.table1); 
ALTER VIEW AS (SELECT col1, col2, col3 FROM con2.table2); 

它不起作用。

+0

创建视图与SQL开发人员中的连接无关。在具有足够权限的一个会话中连接并且模式限定表名称。 – 2012-12-04 11:53:49

+0

你的意思是我将无法创建该视图? –

+0

'con1.table1'是什么意思?你的模式叫做'con1'吗? – 2012-12-04 12:47:25

回答

0

找到此溶液

在第二连接工作表我访问表2补助conection1一个

GRANT SELECT on table2 to Connection1 

然后我创建视图(1SR连接工作表上):

Create VIEW testview AS (SELECT col1, col2, col3 FROM con1.table1); 
ALTER VIEW AS (SELECT col1, col2, col3 FROM con2.table2); 
+0

但在此解决方案中,您只能从视图中的table2获取数据。 –

+0

是的,这就是我所需要的,你总是可以从连接2授予select的其他表 –

0

你打算在不同的模式上做两个表的联合吗?

Create VIEW testviewAS (
    SELECT t1.col1, t1.col2, t1.col3, t2.col1, t2.col2, t2.col3 FROM con1.table1 t1, con2.table2 t2 where t1.col1 = t2.col1 
); 
+0

我的意思是按一列连接表 –

+0

将样本更改为连接。 –