我想使用Perl DBI自動創建基於數據庫的視圖。相關的代碼是類似以下,使用perl DBI創建視圖時無法傳入參數
my $dbh = DBI->connect("dbi:Oracle:$database", $user_passwd);
my $Directive = q{ CREATE OR REPLACE VIEW SOME_VIEW AS SELECT * FROM ID_TABLE WHERE ID=?};
my $ID = 12345;
my $sth = $dbh->prepare($Directive);
my $rv = $sth->execute($ID);
然後我發現$rv
總是undef
後,我運行的代碼。我在代碼中犯了什麼錯誤?當我把參數直接放入$Directive
時,一切都很好。
BTW,當我使用一些其他的$指令,如 「SELECT * FROM ID_TABLE WHERE ID =?」,參數$ ID,可以在沒有任何問題過去了。
嘗試使用'RaiseError => 1'連接。有些驅動程序不支持視圖中的參數(不過,不確定Oracle)。 – choroba 2012-08-06 16:17:58