很简单,SQL WINDOW 不支持。所以,不要在sql window执行过程

解决方案 »

  1.   

    PL/SQL中执行存储过程需要这样写:
    begin
     Data_SaveWebFormCustom (1,'page2','页2','','','');
    end;
    /在COMMAND WINDOWS中你是怎么写的?
      

  2.   

    在COMMAND WINDOWS中我也是这样写的啊:
    Exec Data_SaveWebFormCustom (1,'page2','页2','','','');
    Commit;
    提示:存储过程执行成功。但并没有真正达到效果:增加一条记录。
      

  3.   

    空应该写null,或者你的过程参数设默认值,可以把某些参数省去。
    再次说明,sql window不能运行过程。command window就相当于sqlplus窗口
      

  4.   

    qiuyang_wang:
      不行啊,我用你那中方式提示也是一样的:无效的SQL语句。
      

  5.   

    developer2002:
     可是我在command window中运行没有报错啊,为什么就是没有真正达到效果呢?我的存储过程如下:
    create or replace procedure Data_SaveWebFormCustom(OpType number,WebEgName varchar2,WebChName varchar2,DataGridText varchar2,InsUpdText varchar2,ToolBarText varchar2)
    as
     num number;
    begin
         IF( OpType = 2 ) THEN
           delete from Hr_Data_WebFormCustom  where WebEgName=WebEgName ;
         ELSE
         begin
             Select count(*) into num from Hr_Data_WebFormCustom where WebEgName=WebEgName;
             if (num <> 0) then           
                  update Hr_Data_WebFormCustom
                     set WebChName = WebChName ,DataGridText = DataGridText ,InsUpdText = InsUpdText ,ToolBarText = ToolBarText
                     where WebEgName= WebEgName ;       
              else
                 insert into Hr_Data_WebFormCustom( WebEgName , WebChName , DataGridText , InsUpdText  , ToolBarText )
                      values( WebEgName , WebChName  , DataGridText  , InsUpdText ,  ToolBarText ) ;
              END IF;
         end;
         END IF; 
    end;
      

  6.   

    你应该在你的存储过程中最后加上commit就行了,你在存储过程执行完之后再用commit是不起作用的。
      

  7.   

    提示无效可能是你当前连接的没有访问Data_SaveWebFormCustom的权限或参数传递错误。
    如果跨用户的调用,需要在前面加上用户名称,比如:sys.Data_SaveWebFormCustom().
    另外,你确定你的存储过程创建成功了吗?就是说是否你的存储过程处在无效状态?
      

  8.   

    我的存储过程创建是成功的了,同时是对同一个用户。
    我在存储过程后加上了commit了,可是还是没有效果啊
    而且我用ASP.NET程序来调用该存储过程,也是没有报错,可是后台就是没有结果。
    怎么搞的啊,头都大了。555
      

  9.   

    你在你的PL/SQL 中左边的窗口中找到该过程,然后右键选择test
    打开,可以单步执行,如果执行到最后没有提交的话,界面上会显示的,然后你点击它提交就可以了
      

  10.   

    Select count(*) into num from Hr_Data_WebFormCustom where WebEgName=WebEgName;
    明明我的表中没有  WebEgName=我传的值  的记录,可是num=1 ,怎么回事?
    结果本想执行INSERT的变成执行了UPDATE语句