[Moscow.pm] DBI и метод, возвращающий 1 значение

Nikolay Mishin mi на ya.ru
Чт Дек 15 03:56:07 PST 2011


Да, круто, работает, я вроде использовал, но потом забыл, 
но вопросы , как оказалось, задавать полезно

    my $cnt_today = $dbh->selectrow_array( $ref_source_data->{get_cnt_load_log},
        {}, $cob_date );
Всем спасибо,работает, заодно 30% кода модуля почистилось;))

15.12.2011, 15:29, "Sergiy Borodych" <sergiy.borodych на gmail.com>:
> Посмотри в сторону selectrow_array
>
> my ($count) = $dbh->selectrow_array( $statement, {}, @bind_params );
>
> Да вообще посмотри документацию DBI - там много полезных методов ;)
>
> 2011/12/15 Nikolay Mishin <mi на ya.ru>:
>
>>  Hi Miscow-pm
>>
>>  не для кого не секрет, что часто, при обращении к базе данных возвращается только 1 значение , скажем
>>  count и мы пишем процедуру:
>>  sub get_one_value_from_db {
>>     my $dbh             = shift;
>>     my $cob_date        = shift;
>>     my $persent_load_sql = shift;
>>
>>     my $pst_sth = $dbh->prepare($persent_load_sql);
>>     $pst_sth->execute($cob_date);
>>     my $cnt_today = $pst_sth->fetchrow_array();
>>
>>     return $cnt_today;
>>  }
>>
>>  вопрос, почему в модуле DBI
>>  просто нет метода, который возвращал бы значение, если ему передать
>>  1.  коннект
>>  2. sql
>>  3. значение для инициализации
>>  my $value = get_one_value_from_db( $dbh, $ref_source_data->{get_cnt_load_log},$cob_date);
>>  ну и потом , чтобы в качестве параметров можно было передавать ссылку на массив,
>>  если в запросе в условие where нужно вставлять более 1 значения
>>  my $value = get_one_value_from_db( $dbh, $ref_source_data->{get_cnt_load_log},\@many_param);
>>
>>  Вопрос:
>>  1. почему уже нет такой функции?
>>  2. может посоветуете модуль, где она есть,
>>  просто чует мое сердце, что это уже 1000 раз написано,
>>  Спасибо!
>>
>>  p.s. это не важно, но sql nfrjq
>>  $ref_source_data->{get_cnt_load_log}='
>>  SELECT   COUNT (time_stamp) cnt
>>   FROM   my_table,
>>          (SELECT   TO_DATE (?, 'yyyy-mm-dd') + 2 cd FROM DUAL) dt
>>   WHERE   time_stamp BETWEEN dt.cd AND dt.cd + 1
>>  ';
>>  --
>>  Nikolay Mishin
>>  --
>>  Moscow.pm mailing list
>>  moscow-pm на pm.org | http://moscow.pm.org
> --
> Sergiy Borodych
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org

--
Nikolay Mishin


Подробная информация о списке рассылки Moscow-pm