我想使用 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
时,一切都很好。
顺便说一句,当我使用其他 $Directive 时,例如“SELECT * FROM ID_TABLE WHERE ID=?”,参数 $ID 可以毫无问题地传入。