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
에 매개 변수를 직접 입력하면 모든 것이 좋습니다.
나는 "SELECT * FROM ID_TABLE WHERE ID =?"와 같이 다른 $ 지시문을 사용할 때 매개 변수 $ ID가 문제없이 전달 될 수 있습니다.
'RaiseError => 1'을 사용하여 연결을 시도하십시오. 일부 드라이버는보기에서 매개 변수를 지원하지 않습니다 (오라클에 대해서는 확실하지 않습니다). – choroba