[Moscow.pm] DBI и метод, возвращающий 1 значение
Nikolay Mishin
mi на ya.ru
Чт Дек 15 05:55:11 PST 2011
убил, будет percent_load_sql
15.12.2011, 17:27, "Jack of Shadows" <somerandomlogin на gmail.com>:
> $persent_load_sql <--- невалидный английский детектед! Пыщь лучиком ненависти.
>
> On Thu, Dec 15, 2011 at 5:05 PM, Андрей П. Ковбович
> <akovbovich на gmail.com> wrote:
>
>> http://www.books.ru/books/programmirovanie-na-perl-dbi-8193/
>>
>> 15 декабря 2011 г. 16:38 пользователь Nikolay Mishin <mi на ya.ru> написал:
>>> Да и все рекомендую читать рецепты для DBI
>>> http://www.perlmonks.org/?node_id=284436 !!!
>>>
>>> 15.12.2011, 15:56, "Nikolay Mishin" <mi на 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 на 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 mailing list
>>>> moscow-pm на pm.org | http://moscow.pm.org
>>> --
>>> Nikolay Mishin
>>> --
>>> Moscow.pm mailing list
>>> moscow-pm на pm.org | http://moscow.pm.org
>> --
>> Moscow.pm mailing list
>> moscow-pm на pm.org | http://moscow.pm.org
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
--
Nikolay Mishin
Подробная информация о списке рассылки Moscow-pm