RT
我尝试的结果是:
当view里有datalink时,则无法创建这个view请问是否要有特殊的语法?还有如果不能使用的话,请给出一个折中的方案,谢谢。

解决方案 »

  1.   

    把要用到的DBLINK的表建同义词就可以吧
      

  2.   

    没有问题!例:
    database link的名字叫link_nameSQL> select * from dept@link_name;    DEPTNO DNAME          LOC
    ---------- -------------- -------------
            10 ACCOUNTING     NEW YORK
            20 RESEARCH       DALLAS
            30 SALES          CHICAGO
            40 OPERATIONS     BOSTON已用时间:  00: 00: 00.02
    SQL> create view v_dept as select * from dept@link_name;视图已建立。已用时间:  00: 00: 00.60
    SQL> select * from v_dept;    DEPTNO DNAME          LOC
    ---------- -------------- -------------
            10 ACCOUNTING     NEW YORK
            20 RESEARCH       DALLAS
            30 SALES          CHICAGO
            40 OPERATIONS     BOSTON已用时间:  00: 00: 00.40
    SQL>
      

  3.   

    是的,需要把利用dblink用到的表先创建各同义词。
    create synonym aaa for tab@dblink_aaa;
    create view as select * from aaa;
      

  4.   

    我刚在8.1.7上试了一下,视图里面是可以用DBLINK的
      

  5.   

    我的版本是 9.2 的,试了不能在视图里直接用 dblink
      

  6.   

    完全没有任何问题,datalink可以使用
      

  7.   

    我这边创建,不报任何错,但关闭编辑窗口再打开原先的view,view并没有发生更改。只有view里有datalink才会这样,一般情况下并不发生。
    是不是需要设置什么初始化参数?我把初始化参数里的 global_names 设为了 false,其他都是默认的值。
      

  8.   

    oracle客户端和PL/SQL developer都这样
      

  9.   

    借貴地問個問題,為甚麼用query查詢視圖後,返回記祿集為-1,將view 換成table,卻一切正常.