view不建议在过程中创建
如果真有需要,可以同动态语句实现

解决方案 »

  1.   

    动态语句可以用dbms_sql包,8i以上可以用本地sql:execute immediate sql来实现
    要注意其差别,本地动态语句是每次都进行软分析的,不适合大量动态语句。
    e.g.
    8i以上
    execute immediate 'create view viewname as select ……";
    8i以下用dbms_sql包,参考文档
      

  2.   

    两种方式:
    1、动态sql
      例:execute immediate 'create view view1 as select * from tab'
    2、使用dbms_utility包
      例:dbms_utility.exec_ddl_statement('crete view view1 as select * from tab;')
      

  3.   

    给当前用户赋一个权限。
    grant create any view to new_user;
      

  4.   

    如果不用包直接用CREATE是不成功的!