Class::DBI::Plugin::TimePiece::Oracle改め

Class::DBI::Plugin::DateFormat::Oracleです


package Class::DBI::Plugin::DateFormat::Oracle;
use strict;
use warnings;
use Carp;
use vars '$VERSION';
$VERSION = '0.01';
sub import {
my $class = shift;
my $pkg = caller(0);
unless($pkg->isa('Class::DBI')){
croak(__PACKAGE__." is for Class::DBI application.");
}
no strict 'refs';
*{"$pkg\::set_nls_date_format"} = sub {
my $self = shift;
my $format = shift;
eval {
$pkg->db_Main->do(qq[ALTER SESSION SET NLS_DATE_FORMAT = '$format']);
};
$self->_croak("ALTER SESSION ERROR ".$@ ) if $@;
};
}
1;

利点といえば自分でALTER SESSIONのSQLを発行する必要が無いことくらいかな^^;
これとClass::DBI::Plugin::TimePieceを併用すれば、それなりに楽できるのでは?