perl – DBIx :: Class可以与存储过程而不是表一起使用吗?
发布时间:2020-12-15 21:45:14 所属栏目:大数据 来源:网络整理
导读:通过返回结果集而不是表或视图的mssql存储过程向我提供了从db读取的访问权限.但我希望能够使用ORM读取数据. 我尝试使用DBIx :: Class :: ResultSource :: View来执行过程调用(例如EXEC my_stored_proc?)作为自定义查询,但这不起作用,因为它试图将过程调用转
通过返回结果集而不是表或视图的mssql存储过程向我提供了从db读取的访问权限.但我希望能够使用ORM读取数据.
我尝试使用DBIx :: Class :: ResultSource :: View来执行过程调用(例如EXEC my_stored_proc?)作为自定义查询,但这不起作用,因为它试图将过程调用转换为select语句. 有人有另一个建议吗? 解决方法
不,没有合理的方法在DBIx :: Class的上下文中执行存储过程.
据我所知,与解决方法最接近的是“使用ORM”获取数据库句柄,这是一个弱点: my @results = $schema->storage->dbh_do(sub{ my ($storage,$dbh,@args) = @_; my $sth = $dbh->prepare('call storedProcNameFooBar()'); my @data; $sth->execute(); while( my $row = $sth->fetchrow_hashref){ push @data,$row; } return @data; },()); [详情见 …因为你没有为你的麻烦获得ORM的好处. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |