Перейти к содержимому

Фотография

SQL-запрос в Perl-скриптепоможите!


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1
Кодерщик

Кодерщик
  • Гость
  • 21 сообщений
Всем привет. Нужна грамотная помощь...

Язык: Perl

База: MySQL

Таблица test содержить в себе два поля temp и blabla.

Нужно: если в таблице нет полей temp равных $temp, тогда должна выполняться функция &obezatelno,
а функция &neblabla; если в таблице blabla не равно $blabla.

Текущий код представлен ниже, но он очень безобразный и не оптимальный.
Получается два запроса в одну и ту же таблицу.
Как можно сделать, то что нужно более оптимально и грамотно?

$sth = $dbh->prepare("SELECT temp FROM test WHERE Lower(temp) = Lower('$temp')");
$sth->execute();
if (not $sth->fetchrow_arrayref) {
                       $sth = $dbh->prepare("SELECT blabla FROM test WHERE Lower(blabla) = Lower('$blabla')");
                       $sth->execute();
                        if (not $sth->fetchrow_arrayref) {
                                 &neblabla;                            
                        }
                        $sth->finish();                
        &obezatelno;
}
$sth->finish();

Заранее благодарю...
  • 0

#2
Сергей Бондаренко

Сергей Бондаренко
  • Забанен
  • 7 189 сообщений
Я не дам рекомендаций по перлу - потому что я его не знаю. Я дам общую рекомендацию: учитесь правильно задавать вопросы.
Если честно - я даже сути вопроса не понял.

#3
Tzar

Tzar
  • Завсегдатай
  • 242 сообщений
сеанс телепатии ? 1 :

псевдо-код

SELECT IF(column1=$var, 1,0) as a , IF(column2=$var2, 1, 0) as b FROM table WHERE column1=$var OR column2=$var2;

далее элементарная проверка

if(a){
func1();
}
elseif(b){
func2();
}
else{
func3();
}
  • 0


Количество пользователей, читающих эту тему: 1

пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0

Размещение рекламы на сайте     Предложения о сотрудничестве     Служба поддержки пользователей

© 2011-2022 vse.kz. При любом использовании материалов Форума ссылка на vse.kz обязательна.