delete from user_views where view_name=XXX;

解决方案 »

  1.   

    CREATE OR REPLACE
    PROCEDURE p_test(
        in_view_name IN VARCHAR2)
    AS
      flg    NUMBER;
      sqlstr VARCHAR2(100);
    BEGIN
      SELECT 1 INTO flg FROM all_views WHERE view_name = in_view_name;
      IF SQL%FOUND THEN
        sqlstr:='drop view '||in_view_name;
        EXECUTE immediate sqlstr;
      END IF ;
    EXCEPTION
    WHEN no_data_found THEN
      dbms_output.put_line('The view does not exist');
    END ;使用一个存储过程,传入参数视图名,判断是否存在,如存在则drop,否则打印提示
      

  2.   

    直接drop view view_name;假如有则删除成功,没有则报ORA-00942: table or view does not exist、
      

  3.   

    ①直接执行Drop view view_name 就可以删除,会有提示。
    ②如果只是想重建该视图的话,前面加上CREATE OR REPLACE VIEW xxx(View名称) 就可以了,不用特意去删。
      

  4.   

    直接drop,如果没有就会报错
    你要干什么用啊
      

  5.   

    如果要查询是否存在就执行
    SELECT * FROM User_Views WHERE view_name LIKE UPPER('%view1%');如果要删除则执行
    DROP VIEW view1;