このページでは以前Laravel環境でOracleDBを使用した開発案件で学んだ、SQL文の実行方法(Connection名を指定した)についてまとめてます。
環境はLaravelなので、サンプルコードはPHPになります。
またDB接続に必要な設定は済んでいることが前提となります。
目次
database.phpの中身(サンプル)
〜
'oracle' => [
'driver' => 'oracle',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '192.168.0.5'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', 'forge'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => false,
'engine' => null,
]) : [],
],
〜
SELECTの場合
$sql = "SELECT * FROM TABLE_NAME where ID = '100' ";
$rows = \DB::connection('oracle')->select($sql);
INSERTの場合
$sql = "INSERT INTO TABLE_NAME (NAME,EMAIL)values('東京太郎','user@test.local')";
$res = \DB::connection('oracle')->insert($sql);
UPDATEの場合
$sql = "update TABLE_NAME SET NAME = "大阪次郎" WHERE ID = 100";
$res = \DB::connection('oracle')->update($sql);
DELETEの場合
$res = DB::connection('oracle')->table('TABLE_NAME')->where('id','100')->delete();
SQL実行後のチェック方法
SQL実行結果のチェック方法をselect文、delete文を例に記載します。
$sql = "SELECT * FROM TABLE_NAME where ID = '100' ";
$rows = \DB::connection('oracle')->select($sql);
if(count($rows) === 0){
return "データは0件でした";
}else{
return "データは".count($rows)."件でした";
}
$res = DB::connection('oracle')->table('TABLE_NAME')->where('id','100')->delete();
if($res === 1){
return $id."を削除しました";
}else{
return "削除できませんでした";
}
コメント