一个带参数的存储过程创建一个视图,参数是视图的查询条件,先要判断该视图是否存在,如果存在先删除再创建。
请那位高手给一个例子,谢谢先。

解决方案 »

  1.   

    create or replace procedure 过程名
    (参数1,参数2,...)
    is 
    begin
    create or replace view 视图名 as 查询语句;
    end;顺便说一句,视图是可覆盖的,不用删除
      

  2.   

    按照你说的做法会出现这样的错误
    create   or   replace   procedure   test 
    (str1 in nvarchar2, str2 in nvarchar2) 
    is   
    begin 
    create   or   replace   view   tt   as   select * from BITMP008042; 
    end; PROCEDURE PDA2007.TEST 编译错误错误 PLS-00103: 出现符号 "CREATE" 在需要下列之一时        
                begin case declare exit
              for goto if loop mod null pragma raise return select update
              while with <an identifier>
              <a double-quoted delimited-identifier> <a bind variable> <<
              close current delete fetch lock insert open rollback
              savepoint set sql execute commit forall merge pipe
    行5
    文本 create   or   replace   view   tt   as   select * from BITMP008042;
      

  3.   

    create   or   replace   procedure   过程名 
    (参数1,参数2,...) 
    is   
    v_sql varchar2(100);
    begin 
    V_SQL='create   or   replace   view   视图名   as   查询语句'; 
    EXCUTE IMMEDIATE V_SQL;
       
    end; 
      

  4.   

    错误 PLS-00103: 出现符号 "IMMEDIATE" 在需要下列之一时
            := . ( @ % ;
    行 7
    文本 EXCUTE   IMMEDIATE   V_SQL;又出现这个错误, 谢谢。
      

  5.   

    EXCUTE   IMMEDIATE   V_SQL; execute immediate;