|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Konstantin Stupnik 2:5020/400 17 May 2002 14:49:05 To : Andrew Zhilenko Subject : Re: DB independent SQL statement? -------------------------------------------------------------------------------- "Andrew Zhilenko" <andrew.zhilenko@nextra.cz> wrote in message news:3CE27327.7A952DEC@nextra.cz... > Hello! > > Кто как решает проблему отличий SQL statements, когда скрипт должен работать > с разными базами (напр. Oracle и MySQL)? Хотелось бы, чтобы одинаковые части > statement были в скрипте всего один раз - чтобы не надо было в десяти местах > делать исправления. Что-то типа: > my $sql = new SQL::Crossplatform('select a.a, b.b, a.c from a, b ', > { oracle => '', mysql => ' right join on id' }, > ' where a.name like ? ', > { oracle => ' and a.id = b.id(+) ', mysql => '' }); > my $t = $sql->text('oracle'); > > но более адванснутое :-) Можно спрятать всю работу с базой за некий фронтэнд, и сделать несколько бэкэндов для разных баз. Главное преимущество - можно делать всякие разные DB dependent оптимизации помимо sql statement'ов. Hу и каждый из backend'ов получается более читабелен. У меня знакомый целый oo framework родил на эту тему, заточенный на mod_perl. В общем-то неплохо получилось, и даже работало. Правда в процессе разработки не раз возникала ситуация когда perl складывался в корку при perl -cw :) -- Best regards, Konstantin. Brainbench MVP for perl Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5 * Origin: Talk.Mail.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6488d5170784.html, оценка из 5, голосов 10
|