На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Внимательно изучите правила раздела перед созданием темы
0. ПРИЛАГАЙТЕ СВОИ СКРИПТЫ.
1. Прежде чем создать топик, используйте поиск. Возможно это уже обсуждалось.
2. В топике указывайте ОС, режим работы скрипта (CLI|CGI). Очень желателен вывод лог-файлов и того места, куда у вас назначен вывод данных (STDOUT|STDERR)
3. Помните: вы знаете что вы хотите, а форумчане - нет. Поэтому следуйте простому правилу: грамотный развернутый вопрос - грамотный развернутый ответ.
Модераторы: ANDLL
  
    > SELECT без PREPARE в DBI
      Собственно, сабж.
      Есть ли возможность делать SELECT без PREPARE? Цель: использование pg_bouncer с transaction pooling.
        Оно, не?
        ExpandedWrap disabled
          $hDB = DBI->connect("DBI:mysql:$db_name;$db_host", $db_user, $db_pass, {'RaiseError' => 1});
          my $data = $hDB->selectall_arrayref( "SELECT field1, field2 FROM table" );
          $hDB->disconnect;
          for my $item (@$data) {
            my ( $field1, $field2 ) = @$item;
            ...
            next;
          }
          undef($data);
        Сообщение отредактировано: Gonarh -
          Цитата Gonarh @
          $hDB->selectall_arrayref


          Не, не оно.

          selectall_arrayref

          $ary_ref = $dbh->selectall_arrayref($statement);
          $ary_ref = $dbh->selectall_arrayref($statement, \%attr);
          $ary_ref = $dbh->selectall_arrayref($statement, \%attr, @bind_values);

          This utility method combines "prepare", "execute" and "fetchall_arrayref" into a single call. It returns a reference to an array containing a reference to an array (or hash, see below) for each row of data fetched.
            Тогда точнее сформулируйте вопрос.
              Цитата Adil @


              Хм... Хочу сделать селект без предварительного препаре в явном или неявном виде. Сделал бы с dbh->do() если бы было возможно.
                Цитата rlib @
                Цитата Adil @


                Хм... Хочу сделать селект без предварительного препаре в явном или неявном виде. Сделал бы с dbh->do() если бы было возможно.

                А что происходит во время `prepare`? Мне так кажется, компиляция запроса. А СУБД умеет работать с некомпилированными запросами? Сдаётся мне, нет. Так как сам язык запросов SQL КОМПИЛИРУЕМЫЙ.

                На вопрос есть только ответ, что вам нужно передавать бинарные данные скомпилированного запроса (там чёрт ногу сломит и с чего начать) без использования SQL.

                Добавлено
                Ну, ещё можно `prepare_cached`.
                Сообщение отредактировано: Tishaishii -
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0223 ]   [ 15 queries used ]   [ Generated: 28.03.24, 11:14 GMT ]