INSERT
ステートメントにフィールドを追加することにより、特定の条件(操作のタイプや特定の値の存在など)に応じてクエリを作成します。execute
ただし、次のように、パラメータのリストが異なるさまざまなDBIに分岐する必要があります。
if ($x) {$extraFields .= ' , X'; $extraValues= ',? '}
if ($y) {$extraFields .= ' , Y, Z'; $extraValues= ',?, ? '}
my $theBasicQuery = "INSERT INTO sometable (A, B, $extraFields) VALUES (?, ? $extraValues)";
$sth = $dbh->prepare($theBasicQuery) or error
# but I dont want to have to do this if for execute
if ($x) {$sth->execute(1,2,99);}
if ($y) {$sth->execute(1,2,88, 77);}
私はこのようなことをしたいと思います:
{$sth->execute($anArrayWithDifferentParams);}
これは可能ですか?または、同様のことを行う別の方法はありますか?