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

Jack of Shadows somerandomlogin на gmail.com
Чт Дек 15 05:27:55 PST 2011


$persent_load_sql <--- невалидный английский детектед! Пыщь лучиком ненависти.

On Thu, Dec 15, 2011 at 5:05 PM, Андрей П. Ковбович
<akovbovich at gmail.com> wrote:
> http://www.books.ru/books/programmirovanie-na-perl-dbi-8193/
>
> 15 декабря 2011 г. 16:38 пользователь Nikolay Mishin <mi at ya.ru> написал:
>> Да и все рекомендую читать рецепты для DBI
>> http://www.perlmonks.org/?node_id=284436 !!!
>>
>> 15.12.2011, 15:56, "Nikolay Mishin" <mi at ya.ru>:
>>> Да, круто, работает, я вроде использовал, но потом забыл,
>>> но вопросы , как оказалось, задавать полезно
>>>
>>>     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 at gmail.com>:
>>>
>>>>  Посмотри в сторону selectrow_array
>>>>
>>>>  my ($count) = $dbh->selectrow_array( $statement, {}, @bind_params );
>>>>
>>>>  Да вообще посмотри документацию DBI - там много полезных методов ;)
>>>>
>>>>  2011/12/15 Nikolay Mishin <mi at 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 at pm.org | http://moscow.pm.org
>>>>  --
>>>>  Sergiy Borodych
>>>>  --
>>>>  Moscow.pm mailing list
>>>>  moscow-pm at pm.org | http://moscow.pm.org
>>>
>>> --
>>> Nikolay Mishin
>>>
>>> --
>>> Moscow.pm mailing list
>>> moscow-pm at pm.org | http://moscow.pm.org
>>
>> --
>> Nikolay Mishin
>> --
>> Moscow.pm mailing list
>> moscow-pm at pm.org | http://moscow.pm.org
> --
> Moscow.pm mailing list
> moscow-pm at pm.org | http://moscow.pm.org


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