データベース抽象化レイヤーは、難しいと考えられているデータベースの変更をより簡単に行うことができます。しかし、抽象化レイヤーを使用していても、完全にデータベース間の依存性をなくすることは難しいことです。リスト1を見てみると、OracleとMySQLではストアドプロシージャの呼び出し方が異なることがわかるでしょう。Oracleでのストアドプロシージャの呼び出しはBEGINではじまりますが、MySQLではCALLで実行されます。 リスト1 //MySqlのストアドプロシージャ $objResult = mysqli_query($link,"CALL SP_GET_LIST()") while ($arrRow = mysqli_fetch_array($objResult)) { echo "First: ".$arrRow['FIRST_NAME']." " "Last: ".$arr