> my $statement = q{select 1 from x where exists xyz = ?};
Two things, this syntax does not with Oracle. Also, unless you've
selected the row(s) for update, than I believe it stops on the first
occurrence. The where clause, primary/unique indexes, would play a
part.
Tom
On Sat, Jul 07, 2001 at 05:02:02PM -0700, Tim Harsch wrote:
> Wouldn't that hit every row in the table where xyz = ?, if so could you
> short circuit it with an exists or something:
>
> my $statement = q{select 1 from x where exists xyz = ?};
>
> > -----Original Message-----
> > From: Thomas A. Lowery [mailto:[EMAIL PROTECTED]]
> > Sent: Saturday, July 07, 2001 4:57 PM
> > To: [EMAIL PROTECTED]
> > Subject: Re: Checking for the existence of a certain row.
> >
> >
> > What I do is:
> >
> > my $statement = q{select 1 from x where xyz = ?};
> >
> > Prepare:
> >
> > my $exist_sth = $dbh->prepare( $statement );
> >
> > Then call selectrow_array with a scalar:
> >
> > $does_exists = $dbh->selectrow_array($statement, undef,
> > $key_to_check );
> >
> > Tom
> >
> >
> > On Fri, Jul 06, 2001 at 05:08:56PM -0400, James Kufrovich wrote:
> > > Hi.
> > >
> > > I'd like to check for the existence of data in a row of a database
> > > (MySQL), if given the value of a primary key. ("Is there
> > already a row in
> > > the database that has this value as a key?") I don't care what
> > data is in
> > > the row, or if more than one row (!!) is found. I'd hope that whatever
> > > method I use will stop searching the database after it finds the first
> > > match.
> > >
> > > What would be the best way to go about this? Is there a special
> > > method that can do this, or would I have to use selectrow_array (or
> > > fetchrow_array or one of those) and then see if it finds anything? I
> > > suppose I can call 'finish' as soon as a match is found, if the
> > method (or
> > > whatever) doesn't stop by itself. I'd appreciate any tips. Thanks.
> > >
> > > Jamie Kufrovich
> > >
> > > Egg, eggie (at) sunlink (dot) net
> > > FMSp3am/MSp3am A- C+ D H+ M+ P+++ R+ T W Z+
> > > Sp#/p++ RL->CT a+ cl++ d? e++ f h* i+ j p+ sm+
> >
> > --
> > Thomas A. Lowery
> > See DBI/FAQ http://tlowery.hypermart.net
> >
> >
--
Thomas A. Lowery
See DBI/FAQ http://tlowery.hypermart.net
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com