出于习惯,我一直在我的应用程序代码中对所有 SQL 查询使用 try/catch 块,并在 catch 块的开头进行回滚。我也一直在提交那些成功的。这对SELECT
s有必要吗?它是否在数据库端释放了一些东西?选择语句没有改变任何数据,所以它似乎有点毫无意义,但也许有一些我不知道的原因。
例如
try {
$results = oci_execute($statement)
oci_commit($connection);
return $results;
}
catch {
oci_rollback($connection)
throw new SqlException("failed");
}