Frank Bax <fbax@sympatico.ca> writes:
> In a perl script using DBI and DBD:Pg, I need to drop/create a table:
> $dbp->{RaiseError} = 0;
> $dbp->do( "DROP TABLE $table" );
> $dbp->{RaiseError} = 1;
> $dbp->do( "CREATE TABLE $table ..." );
>
> If the table does not exist, the "DROP TABLE" produces an error message; but
> script doesn't die because RaiseError was set to zero. Is there a way to
> suppress this error message and then reset the change so an error in create
> *is* seen?
I think it looks something like this:
{ local($dbp->{RaiseError}) = 0; local($dbp->{PrintError}) = 0; $dbp->do( "DROP TABLE $table" );
}
$dbp->do( "CREATE TABLE $table ..." );
--
greg