亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: perl 如何調(diào)用存儲(chǔ)過(guò)程? [打印本頁(yè)]

作者: herolyh    時(shí)間: 2007-02-07 17:47
標(biāo)題: perl 如何調(diào)用存儲(chǔ)過(guò)程?
請(qǐng)問(wèn)perl如何調(diào)用oracle存儲(chǔ)過(guò)程!
可以連接上oracle數(shù)據(jù)庫(kù),執(zhí)行一般的查詢語(yǔ)句,但是如何調(diào)用存儲(chǔ)過(guò)程的代碼如何寫呢?
作者: flw    時(shí)間: 2007-02-07 17:52
先按一般的方法試試,看行不行。
作者: herolyh    時(shí)間: 2007-02-07 18:20
my $sth=$dbh->prepare("
BEGIN
key_price_reset('$tmpkey','');
END;");
$sth->execute();
這樣不行
$dbh->do("
BEGIN
key_price_reset('$tmpkey','');
END;
");
這樣也不行
作者: flw    時(shí)間: 2007-02-07 18:36
去掉 BEGIN END 呢?
作者: herolyh    時(shí)間: 2007-02-07 18:57
不行
作者: flw    時(shí)間: 2007-02-07 19:16
咋個(gè)不行法?
google 一下?
作者: herolyh    時(shí)間: 2007-02-07 19:30
[Wed Feb  7 18:55:57 2007] first1.cgi: DBD::Oracle::st execute failed: ORA-00900
: invalid SQL statement (DBD ERROR: OCIStmtExecute) [for Statement "key_price_re
set('again001','');"] at first1.cgi line 66.
報(bào)錯(cuò)了!各種方法都嘗試了,總是報(bào)錯(cuò)!郁悶的不行了!
作者: flw    時(shí)間: 2007-02-07 19:33
前面加個(gè) exec 試試?
作者: herolyh    時(shí)間: 2007-02-07 19:39
[Wed Feb  7 19:37:18 2007] first1.cgi: DBD::Oracle::st execute failed: ORA-00900
: invalid SQL statement (DBD ERROR: OCIStmtExecute) [for Statement "exec key_pri
ce_reset('gg','');
作者: flw    時(shí)間: 2007-02-07 19:41
加個(gè) call 試試?
作者: herolyh    時(shí)間: 2007-02-07 19:45
my $sth=$dbh->prepare("call key_price_reset('$tmpkey','$update');
");
$sth->execute();
$sth->finish();
執(zhí)行結(jié)果:
[Wed Feb  7 19:42:48 2007] first1.cgi: DBD::Oracle::st execute failed: ORA-00911
: invalid character (DBD ERROR: error possibly near <*> indicator at char 35 in
'call key_price_reset('again001','')<*>;
[Wed Feb  7 19:42:48 2007] first1.cgi: ') [for Statement "call key_price_reset('
again001','');
[Wed Feb  7 19:42:48 2007] first1.cgi: "] at first1.cgi line 68.
作者: 大大狗    時(shí)間: 2007-02-07 20:30
原帖由 herolyh 于 2007-2-7 19:45 發(fā)表
my $sth=$dbh->prepare("call key_price_reset('$tmpkey','$update');
");
$sth->execute();
$sth->finish();
執(zhí)行結(jié)果:
[Wed Feb  7 19:42:48 2007] first1.cgi: DBD::Oracle::st execu ...

紅色的部分是什么 存儲(chǔ)過(guò)程帶參數(shù)
作者: 月波無(wú)漾    時(shí)間: 2007-02-07 20:32
直接用執(zhí)行system調(diào)用echo "exec procs"|sqlplus -s user/passwd 算了
作者: herolyh    時(shí)間: 2007-02-08 19:05
my $sth=$dbh->prepare("BEGIN key_price_reset(?,?);END;");
$sth->bind_param( 1,$key);
$sth->bind_param_inout( 2, \$update, 1000 );
$sth->execute();
這樣就可以了,不明白!問(wèn)題已解決!
作者: sean88    時(shí)間: 2007-02-09 09:25
原帖由 herolyh 于 2007-2-8 19:05 發(fā)表
my $sth=$dbh->prepare("BEGIN key_price_reset(?,?);END;";
$sth->bind_param( 1,$key);
$sth->bind_param_inout( 2, \$update, 1000 );
$sth->execute();
這樣就可以了,不明白!問(wèn) ...



想請(qǐng)問(wèn)一下sth->bind_param_inout( 2, \$update, 1000 );
這個(gè)參數(shù)是可以輸入也可以返回值的嗎?如果是可以返回的應(yīng)該怎么樣獲取?可以解釋一下這個(gè)寫法嗎?




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2