在我看来,必须有更好的方法来做到这一点,但我还没有找到。而且我敢肯定,我不是唯一一个可以使用一种方法来做到这一点的人:运行一个 SQL 查询,它只在一行中生成一个字段,然后将该字段分配给一个标量。(在我的情况下,如果查询导致多个字段/行,那么我要担心的事情比脚本破坏要大)。
例如,要从 SQL 服务器获取时间戳,可以使用:
my $timestamp;
my $cmd = $dbh->prepare('SELECT cast(now() AS timestamp);') or die $!;
$cmd->execute();
while (my @asd = $cmd->fetchrow_array) { $timestamp = $asd[0] }
很脏,但它有效。但是对于一个简单的任务来说,使用 4 行似乎有点多,尤其是考虑到 perl 和 postgresql 可以通过 DBI 相互通信的程度。当然,我可以为它编写一个子例程,但是是否有本地程序可以让我像提交数据一样轻松地获取数据$dbh->do()
?
是的,我确实尝试过谷歌。