CDBI::Plugin::OracleSequence

Oracleのシーケンステーブルのnextval取得プラグイン
さく〜と作ってみた。


package Class::DBI::Plugin::OracleSequence;
use strict;
use warnings;
our $VERSION = '0.01';
use base qw/Class::DBI::Plugin/;
use Carp;
sub nextval : Plugged {
my ($class, $key) = @_;
$class->_croak("dual key not found! " ) unless $key;
my $sql = "select $key.nextval from dual";
$class->set_sql( get_nextval => $sql);
my $cnt;
eval {
$cnt = $class->search_get_nextval->first->{nextval};
};
$class->_croak("Can't get $key nextval ".$@ ) if $@;
return $cnt;
}
1;