Executing Select Statements
The second stage of the data fetch cycle is to inform the database to go ahead and execute the SQL statement that you have prepared. This execution stage will actually tell the database to perform the query and begin to collect the result set of data.
Performing the execution of the SQL statement occurs via a valid
statement handle created when the prepare() method
successfully completes. For example, execution of an SQL statement
can be expressed as simply as:
### Create the statement handle my $sth = $dbh->prepare( "SELECT id, name FROM megaliths" ); ### Execute the statement handle $sth->execute();
Assuming that all goes well with the execution of your statement, a
true value will be returned from the
execute()
call. Otherwise, a value of
undef is returned, signifying that the execution
has failed.
As with most DBI methods, if
PrintError
is enabled, then an error message
will be generated via
warn()
.
Alternatively, if
RaiseError
is enabled, an exception will be
generated via
die()
.
However you choose to do it, it is always a good idea to check for
errors.[44]
After execute() returns successfully, the database
has not necessarily completed the execution of the
SELECT
statement; it may have only just started. Imagine that megaliths are
very common, and our megaliths table has ten million rows. In
response to the execute() earlier, the database
may do no more than set a pointer, known as a
cursor, to just above the first row of the
table.
So, after ...