|< 1 2 >| | 18 Einträge, 2 Seiten |
1
2
3
4
5
6
SELCT fields FROM tbl WHERE
name = '$name1' or
name = '$name2' or
name = '$name3' or
name = '$name4' or
usw.
1
2
3
4
5
my @names = qw(name1 name2 ...);
my $select = 'SELECT fields from tble where name IN('.join(',',('?') x scalar(@names)).')';
my $sth = $dbh->prepare or die $dbh->errstr();
$sth->execute(@names);
IN ist sehr schnell ist, wenn die IN-Werteliste ausschließlich aus Konstanten besteht.
SELECT ... FROM ... WHERE ... IN(1,2,3,4,5)
SELECT ... FROM ... WHERE ... IN(SELECT ... FROM ...)
1
2
3
4
5
my @names = qw(name1 name2 ...);
my $select = 'SELECT fields from tble where name IN('.join(',',('?') x scalar(@names)).')';
my $sth = $dbh->prepare or die $dbh->errstr();
$sth->execute(@names);
1
2
3
4
5
6
WHERE name IN(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?
,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
$sth->execute(@names);
1
2
3
4
5
my @names = qw(name1 name2 ...);
my $select = 'SELECT fields from tble where name IN('.join(',',('?') x scalar(@names)).')';
my $sth = $dbh->prepare or die $dbh->errstr();
$sth->execute(@names);
1
2
3
4
5
my @names = qw(name1 name2 ...);
my $select = 'SELECT fields from tble where name IN('.join(',',('?') x scalar(@names)).')';
my $sth = $dbh->prepare($select);
$sth->execute(@names) or die $DBI::errstr;
|< 1 2 >| | 18 Einträge, 2 Seiten |