Với DBI
có cách nào để xác định xem một câu lệnh xử lý được thực hiện cho câu lệnh SELECT có trả về bất kỳ hàng nào mà không tìm nạp từ nó không?
I.e. cái gì đó như:
use DBI;
...
my $sth = $dbh->prepare("SELECT ...");
$sth->execute;
if (..$sth will return at least one row...) {
...
} else {
...
}
và tôi muốn thực hiện các thử nghiệm $sth will return at least one row
mà không thực hiện bất kỳ lấy phương pháp trên $sth
.
Lưu ý - Tôi không cần số lượng chính xác của hàng (ví dụ: $sth->rows
), tôi chỉ cần biết nếu $sth->rows
sẽ> 0.
Nó có thể không làm việc tùy thuộc vào trình điều khiển, ví dụ với DBD :: Oracle, $ sth-> rows trả về số hàng bị ảnh hưởng chỉ cho các cập nhật, xóa và chèn nhưng -1 cho các lựa chọn (http://search.cpan.org/~pythian/DBD-Oracle-1.74/lib/DBD/Oracle.pm# hàng) – Fred