CellBIS-SQL-Abstract
view release on metacpan or search on metacpan
lib/CellBIS/SQL/Abstract.pm view on Meta::CPAN
if ((scalar @table_field) == (scalar @table_data)) {
if ($type && $type eq 'no-pre-st') {
$value_col = join ', ', $self->QueryUtil->data_insert(\@table_data);
}
elsif ($type && $type eq 'pre-st') {
@get_data_value
= @{$self->QueryUtil->data_insert_pre_st(\@table_data)->[0]};
$value_col = join ', ', @get_data_value;
}
else {
$value_col = join ', ', $self->QueryUtil->data_insert(\@table_data);
}
$field_col = trim($field_col);
$value_col = trim($value_col);
$value_col =~ s/\,$//g;
$value_col =~ s/\s\,//g;
$data = "INSERT INTO $table_name($field_col) VALUES($value_col)";
}
return $data;
}
sub insert_bulk {
my ($self, $table_name, $column, $col_val, $type) = @_;
$type //= '';
my @table_field = @{$column};
my @table_data = ();
my @value_data = ();
# for field column
my $field_col = join ', ', @table_field;
my $value_col = '';
# for data column
for my $value (@{$col_val}) {
if ($type eq 'pre-st') {
push @value_data, @{$self->QueryUtil->data_insert_pre_st($value)->[1]};
push @table_data,
'('
. (join ', ', @{$self->QueryUtil->data_insert_pre_st($value)->[0]})
. ')';
}
else {
push @table_data,
'(' . (join ', ', $self->QueryUtil->data_insert($value)) . ')';
}
}
$field_col = trim($field_col);
$value_col = trim(join(', ', @table_data));
$value_col =~ s/\,$//g;
$value_col =~ s/\s\,//g;
return ["INSERT INTO ${table_name}($field_col) VALUES $value_col",
@value_data];
}
sub update {
my $self = shift;
my $arg_len = scalar @_;
if ($arg_len > 2 || $arg_len >= 5) {
my $method_name = '_qUpdate_arg' . $arg_len;
if ($self->can($method_name)) {
return $self->$method_name(@_);
}
}
return '';
}
sub delete {
my $self = shift;
my ($table_name, $clause) = @_;
my $data = '';
if (ref($clause) eq "HASH") {
if (exists $clause->{where}) {
my $where_clause = $self->QueryUtil->create_clause($clause);
$data = "DELETE FROM $table_name \n$where_clause";
}
}
return $data;
}
sub select {
my $self = shift;
my $arg_len = scalar @_;
my $data;
$data = $self->_qSelect_arg3(@_) unless ($arg_len < 2);
return $data;
}
sub select_join {
my $self = shift;
my $arg_len = scalar @_;
my $data = '';
$data = $self->_qSelectJoin_arg3(@_) unless ($arg_len < 3);
return $data;
}
sub create_table {
my $self = shift;
my $arg_len = scalar @_;
my $result = '';
if ($arg_len >= 3) {
my $tables
= CellBIS::SQL::Abstract::Table->new(db_type => $self->db_type);
$result = $tables->create_query_table(@_);
}
return $result;
}
# For Action Query String - "update"
# --------------------------------------------------------------
( run in 0.658 second using v1.01-cache-2.11-cpan-ceb78f64989 )