【发布时间】:2013-04-06 01:26:12
【问题描述】:
我必须在不使用 DBI 或任何类型的数据库接口模型的情况下制作一个 perl 脚本来填充 PostgreSQL 中的数据库。我是一个很自然的脚本初学者,我已经坚持了很长一段时间。我目前只有这么多。
open my $pipe, '|-', "psql -d postgres -U postgres", @options or die;
# NOT SURE WHAT TO DO AFTER THIS
close $pipe;
编辑 1:现在我正在尝试这样做。
for ($count = $iters; $count >= 1; $count--) {
$randdecimal = rand();
$pipe "INSERT INTO random_table (runid, random_number) VALUES ($runid, $randdecimal)";
}
但它给了我一个语法错误
【问题讨论】:
-
你最好生成一个大的 sql 文件,然后把它交给 postgres 来阅读。通过
open逐个声明交互可能会变得非常复杂。 -
print $pipe "SELECT * FROM TheTable;\n",但你最好大量使用 DBI。你的尝试是不明智的。 -
您能否详细说明一下,或者提供一个示例?
-
如果你问我,答案是否定的。我太喜欢你了,不愿意忍受在 Perl 中通过管道处理 SQL 的痛苦。
-
但我需要做的就是向表中插入任意次数。仅此而已
标签: database perl postgresql populate