Thread Wo bringt ihr die SQL-Abfragen unter?: Quellcode? Separates Modul? DB? (13 answers)
Opened by pktm at 2005-09-24 16:56

pq
 2005-09-26 02:25
#33588 #33588
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
@format_c:
naja, z.B. ein modul Module::StaticSQL, das alle manuellen db-abfragen
beinhaltet.
zuerst einmal würde ich dort an einer stelle die datenbank- und
tabellen-namen festlegen, etwa
Code: (dl )
1
2
3
4
5
6
7
8
my %db = (
 userdb => 'userdb',
 sessiondb => 'sessions'
);
my %tables = (
 userdata => 'userdata',
 items => 'items',
);

und dann methoden der einzelnen datenbank-queries.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
sub update_userstatus {
 my ($self, $uid, $new_status) = @_;
 my $sql = <<"EOM";
UPDATE $db{userdb}.$tables{userdata}
SET status = ?
WHERE id = ?
EOM
 #execute
}
...

falls performance gefragt ist, kann man das auch mit konstanten für die
db/tabellennamen machen.
Code: (dl )
1
2
3
use constant DB_USER => 'userdb';
...
use constant TABLE_USERDATA => 'userdata';
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Wo bringt ihr die SQL-Abfragen unter?: Quellcode? Separates Modul? DB?