http://www.books.ru/books/programmirovanie-na-perl-dbi-8193/
15 декабря 2011 г. 16:38 пользователь Nikolay Mishin <[email protected]> написал: > Да и все рекомендую читать рецепты для DBI > http://www.perlmonks.org/?node_id=284436 !!! > > 15.12.2011, 15:56, "Nikolay Mishin" <[email protected]>: >> Да, круто, работает, я вроде использовал, но потом забыл, >> но вопросы , как оказалось, задавать полезно >> >> my $cnt_today = $dbh->selectrow_array( >> $ref_source_data->{get_cnt_load_log}, >> {}, $cob_date ); >> Всем спасибо,работает, заодно 30% кода модуля почистилось;)) >> >> 15.12.2011, 15:29, "Sergiy Borodych" <[email protected]>: >> >>> Посмотри в сторону selectrow_array >>> >>> my ($count) = $dbh->selectrow_array( $statement, {}, @bind_params ); >>> >>> Да вообще посмотри документацию DBI - там много полезных методов ;) >>> >>> 2011/12/15 Nikolay Mishin <[email protected]>: >>>> 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 >>>> [email protected] | http://moscow.pm.org >>> -- >>> Sergiy Borodych >>> -- >>> Moscow.pm mailing list >>> [email protected] | http://moscow.pm.org >> >> -- >> Nikolay Mishin >> >> -- >> Moscow.pm mailing list >> [email protected] | http://moscow.pm.org > > -- > Nikolay Mishin > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
