var outout varchar2(3333); 
execute crm.p_rel_resource('13999999999',null,null,null,:outout); 
---复制这一段在PL/SQL的COMMAND窗口可以执行成功并返回OUTPUT信息为“号码释放成功” 
(P_REL_RESOURCE有一个OUT参数,我VAR一个变量就是为了解决这个OUT参数) 
但是同样是上面的两个语句,复制到PL/SQL的SQL窗口,点击执行按钮后就报错!! 
我现在想在PHP中能够实现在PL/SQL的COMMAND窗口正确执行的效果,请问该怎么写? 
我在PHP这样写,但是在IE中输入号码点击释放后,PHP也不会报错,能够正常执行, 
但实际上号码并未释放,显示并未执行成功。 
以下是我写的,大家看看哪里有问题呢? 
提示$SBHM是PHP输入框的输入记录         $user2="boss_jx"; 
        $password2="jxmobileitcenter"; 
        $datebase2 = "CRM"; 
        $conn2 = OCILogon($user2,$password2,$datebase2); 
        if($conn2 < 0) { 
        echo "can not connect the database: reason:".OCIError($conn2) ."\r\n"; 
        exit; 
        } 
    $releasesql='var outout varchar2(3333);'; 
    $stmt = OCIParse($conn2,$releasesql); 
    $releasesql1='execute crm.p_rel_resource('.$SBHM.',null,null,null,:outout);'; 
    $stmt1 = OCIParse($conn2,$releasesql1); 
    OCIExecute($stmt); 
    OCIExecute($stmt1); 
    OCIFreeStatement($stmt); 
    OCIFreeStatement($stmt1);

解决方案 »

  1.   

    sql窗口不能那么写。改成
    declare
     outout varchar2(3333); 
    begin
     crm.p_rel_resource('13999999999',null,null,null,outout); 
    end;
      

  2.   

    sql窗口,全部选中,execute as script 看看行不?(toad可以,你这个不晓得,呵呵)
      

  3.   

    plsql dev不支持这个,这个需要sqlplus的环境。比如sqlplus和sqlplus dev里的command
      

  4.   


    支持一个,var 是sqlplus的命令,plsqldev不支持。