为啥分号隔开的两个语句在COMMAND窗口成功,在SQL窗口失败?

dragon_xhf 2009-12-28 12:14:33
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);
...全文
174 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
BenChiM888 2009-12-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wildwave 的回复:]
sql窗口不能那么写。改成
declare
outout varchar2(3333);
begin
crm.p_rel_resource('13999999999',null,null,null,outout);
end;
[/Quote]

支持一个,var 是sqlplus的命令,plsqldev不支持。
小灰狼W 2009-12-28
  • 打赏
  • 举报
回复
sql窗口不能那么写。改成
declare
outout varchar2(3333);
begin
crm.p_rel_resource('13999999999',null,null,null,outout);
end;
inthirties 2009-12-28
  • 打赏
  • 举报
回复
plsql dev不支持这个,这个需要sqlplus的环境。比如sqlplus和sqlplus dev里的command
crazylaa 2009-12-28
  • 打赏
  • 举报
回复
sql窗口,全部选中,execute as script 看看行不?(toad可以,你这个不晓得,呵呵)

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧