【发布时间】:2015-04-26 12:04:19
【问题描述】:
我目前正在使用DBIx::Class,我想知道如何使用 DBIx 在某个数据库模式中调用现有的 Postgres 函数。
我的 DBI 代码:
my $table = $self->{dbh}->quote_identifier(
undef,
'foo',
'myFunction'
);
my $sqlst = qq{ SELECT foobar FROM $table($some_data); };
到目前为止,我发现的事情是使用从我的 DBIx::Class::Schema 对象中检索到的 dbh 对象来调用所述函数:
my $return_data = {};
my $sql = qq{SELECT foobar FROM "foo"."myFunction"($some_data)};
$self->{schema}->storage->dbh_do( sub {
my ($storage, $dbh) = @_;
$menu_list = $dbh->selectrow_hashref(
$sql,
{ slice => {} }
);
});
还有比这更好/更简单的解决方案吗?
我也偶然发现了DBIx::ProcedureCall,但在使用数据库架构时我无法让它工作。
非常感谢任何帮助!
【问题讨论】:
标签: perl postgresql dbix-class