Create or replace Procedure P_封面信息
as
 v_SQL1 varchar(2000);
begin
------------------
v_Sql1 := 'select * from IUFO100913.iufo_measure_data_jt6q5gan ';
dbms_output.put_line(v_Sql1);end P_封面信息;exec  P_封面信息;
上边的存储过程有问题吗???执行存储过程是没有给错误提示的,可是执行exec  P_封面信息 就错了
错误:“无效的Sql语句”,错在哪儿了??
请高手指点

解决方案 »

  1.   

    Connected to:
    Oracle Database 10g Release 10.1.0.2.0 - ProductionSQL> --不会啊,我的能出来啊:
    SQL> 
    SQL> Create or replace Procedure P_封面信息
      2  as
      3   v_SQL1 varchar(2000);
      4  begin
      5  ------------------
      6  v_Sql1 := 'select * from IUFO100913.iufo_measure_data_jt6q5gan ';
      7  dbms_output.put_line(v_Sql1);
      8  
      9  end P_封面信息;
     10  /Procedure created.
    SQL> set serveroutput on
    SQL> exec P_封面信息;
    select * from IUFO100913.iufo_measure_data_jt6q5ganPL/SQL procedure successfully completed.
      

  2.   

    在sqlplus或者plsql developer的command窗口执行SQL> set serveroutput on
    SQL> 
    SQL> Create or replace Procedure P_封面信息
      2  as
      3   v_SQL1 varchar(2000);
      4  begin
      5  ------------------
      6  v_Sql1 := 'select * from IUFO100913.iufo_measure_data_jt6q5gan ';
      7  dbms_output.put_line(v_Sql1);
      8  
      9  end P_封面信息;
     10  /
     
    Procedure created
     
    SQL> exec P_封面信息;
     
    select * from IUFO100913.iufo_measure_data_jt6q5gan 
     
    PL/SQL procedure successfully completed
     
    SQL> 
    在plsql developer的sql window执行
    begin 
      P_封面信息;
    end;
      

  3.   

    没明白耶,为什么在我的pl/Sql 中就有错呢??
      

  4.   

    你在pl/sql那里执行的 command窗口吗?
    如果是command窗口就可以 exec P_封面信息;
    如果是sql窗口的话 要用
    begin 
    P_封面信息; 
    end;