Oracle– tag –
-
Oracle
ORA-08177 |can’t serialize access for this transaction:シリアライズエラーの原因と対処方法
Oracle でトランザクションを扱っていると、ORA-08177: can't serialize access for this transaction が突然発生することがあります。特に READ ONLY トランザクションモード(SERIALIZABLE) を使っていたり、UPDATE の競合が起きやすいバッチ処理では頻... -
SQL
SQL:複数行の値を1行にまとめたい時に使う関数(LISTAGG / STRING_AGG)
SQLを使っていると、次のように複数行の値をカンマ区切りで1つにまとめたい場面があります。 🔹例:従業員テーブル これを次のように集約したい👇 こういった「行→1セルまとめ」が必要な時に便利なのが、 👉 LISTAGG👉 STRING_AGG の2つです。データベース... -
Oracle
ORA-01422 | Expected single row/完全フェッチがリクエストより多くの行を戻しました の意味と解決方法
Oracle PL/SQLで SELECT INTO を実行した際に、想定より多くの行が返ってしまうと発生するエラーが ORA-01422 です。特に「必ず1件しか返らないはず」というロジック前提で処理を書いた場合に多く発生します。 この記事では、ORA-01422の意味、原因、発生... -
Oracle
ORA-01403 | データが1件も返らない時の典型原因と修正方法
Oracleデータベースでアプリケーション開発をしていると、時々遭遇するエラーが ORA-01403: no data found です。特にPL/SQLやSELECT INTO構文を使った処理でよく発生します。 この記事では、 ORA-01403が発生する状況 よくある原因 実務レベルでの修正方... -
Oracle
ORA-01400 NULLを挿入できません|INSERT時のエラー原因と対応手順
OracleでINSERT文を実行した際、次のようなエラーが表示されることがあります。 [crayon-699d8808c27df875855744/] このエラーは、NOT NULL制約が設定されているカラムにNULL値を挿入しようとした場合に発生します。SQLを修正するだけではなく、アプリ側の... -
SQL
SQL 日付条件で絞り込みたい時の書き方(BETWEEN/>=/<=)
SQLで日付条件を使ってデータを抽出したい場合、代表的な書き方として BETWEEN や >= / <=(範囲指定) を利用します。しかし、実務では 時間を含むデータ や 境界値の違い により、意図したデータが取得できないケースが発生しやすいです。 この記... -
Oracle
ORA-06512 が出たときの対処法|エラー行の見つけ方と典型的な原因まとめ
Oracleデータベースで PL/SQL を扱っていると、「ORA-06512」 がセットで表示されるエラーに遭遇することがあります。このエラー自体は “直接の原因” ではありませんが、「どこでエラーが発生したか(行番号)」を示す重要なヒント になります。 本記事で... -
SQL
HAVING句 WHERE句 違い|SQLで使い分けるべき場面をわかりやすく解説
SQLで集計処理を行う際に必ず出てくるのが WHERE句 と HAVING句 の違いです。どちらも「条件を絞り込む」ための構文ですが、役割が明確に異なります。この記事では、 HAVING句を使うべきケース と WHEREとの使い分け をわかりやすく解説します。 ■ WHERE句... -
Oracle
ora-00001|Oracleの一意制約(UNIQUE制約)違反の原因と対処方法
はじめに Oracleで最もよく見るエラーの1つが ORA-00001:一意制約(UNIQUE制約)違反。INSERT/UPDATE で突然エラーになり、原因が分かりづらいケースも多いです。 本記事では、UNIQUE制約でハマりやすいポイントと、ORA-00001の根本対策を実例付きで解説... -
Oracle
【Oracle】ORA-12154エラーの原因と対処法まとめ:これで解決!
Oracleデータベースに接続しようとしたとき、「ORA-12154: TNS: 指定された接続識別子を解決できませんでした」 というエラーが出て焦ったことはありませんか? これはOracle初心者はもちろん、ベテランでも環境構築時によく遭遇する「あるある」エラーで...



