gpt4 book ai didi

perl - 如何为具有不同数量值的 DBI 插入编写子例程?

转载 作者:行者123 更新时间:2023-12-01 23:26:36 24 4
gpt4 key购买 nike

我正在做很多插入查询,我认为最好为它编写一个子例程。类似于 insertRow($table, @stuff_to_insert)。但是当涉及到 @stuff_to_insert 时,我如何才能使子例程动态化,它可以是 1-5 个参数中的任何值?

最佳答案

最好的解决方案可能是使用 ORM 系统,例如 DBIx::Class .它们使处理 SQL 变得更加容易。

如果您选择继续使用原始 DBI,我建议您使用如下准备好的语句:

my $query = sprintf 'INSERT INTO %s VALUES(%s)', dbh->quote_identifier($table), join ',', ('?') x $columns;

my $sth = $dbh->prepare($query);

for my $row (@rows) {
$sth->execute(@{$row});
}

这将带来速度和稳健性方面的优势。

您可以将其全部封装在一个子组件中,但无论如何 ORM 可能会提供更好的解决方案。

关于perl - 如何为具有不同数量值的 DBI 插入编写子例程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/552866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com