CREATE VIEW  TEST_V AS 
SELECT
utl_raw.cast_to_raw(DJ_NSRXX.NSRMC)  nsrmc
FROM
DJ_NSRXX@LANDTAXDBLINKdrop view TEST_V@landtaxdblink 删除会提示oracledblink 视图

解决方案 »

  1.   

    如果这个视图在别的数据库里,为什么它的代码是
    SELECT
    utl_raw.cast_to_raw(DJ_NSRXX.NSRMC)  nsrmc
    FROM
    DJ_NSRXX@LANDTAXDBLINK
    ?如果确定这个视图在其他数据库,可以使用如下语句:
    BEGIN
          dbms_utility.exec_ddl_statement@LANDTAXDBLINK('drop VIEW TEST_V');
    END;
      

  2.   

    先select count(nvl())到一个变量判断一下存在不存在
      

  3.   

    DECLARE FLAG NUMBER;
    BEGIN
    SELECT COUNT(1) INTO FLAG FROM user_views@LANDTAXDBLINK s WHERE s.view_name = 'yourViewName';
    IF FLAG = 1 THEN 
       dbms_utility.exec_ddl_statement@LANDTAXDBLINK('drop VIEW yourViewName');
    END IF;
    END;