Oracle

Oracle

【Oracle】ORA-01830の原因と解決方法|date format picture ends before converting entire input string

ORA-01830は、日付文字列に時刻や小数秒などの余りがあるのに、TO_DATEやTO_TIMESTAMPの書式モデルが入力文字列全体を読み切れていないときに発生します。確認順と修正例をまとめます。
Oracle

【Oracle】ORA-01476の原因と解決方法|divisor is equal to zero・ゼロ除算エラーの直し方

OracleのORA-01476 divisor is equal to zeroは、SQLやPL/SQLで0除算が発生したときのエラーです。分母0の特定、NULLIF・CASEによる安全な割り算、集計SQLでの割合計算の直し方をまとめます。
Oracle

【Oracle】ORA-00937の原因と解決方法|not a single-group group function・GROUP BYなしで集計関数と通常列を混在した時の直し方

OracleのORA-00937 not a single-group group functionは、SUM、COUNT、AVGなどの集計関数と通常列を、GROUP BYなしで混在させたときに発生します。原因と修正パターンを実例でまとめます。
Oracle

【Oracle】ORA-00979の原因と解決方法|not a GROUP BY expression・GROUP BYに含まれない列エラーの直し方

OracleのORA-00979 not a GROUP BY expressionは、GROUP BYしたSQLで、SELECT句・ORDER BY句・HAVING句にグループ化されていない列や式を書いたときに発生します。原因と修正パターンを実例でまとめます。
Oracle

【Oracle】ORA-02292の原因と解決方法|integrity constraint violated – child record found・子レコードが存在する時の削除エラー

OracleのORA-02292は、親テーブルの行を削除しようとしたとき、外部キーで参照している子レコードが残っているために発生します。制約名から子テーブルを特定するSQL、正しい削除順序、ON DELETE CASCADEの注意点をまとめます。
Oracle

【Oracle】ORA-01438の原因と解決方法|value larger than specified precision allowed for this column・数値精度エラーの直し方

OracleのORA-01438は、NUMBER列に定義された精度より大きい数値を登録・更新しようとしたときのエラーです。NUMBER(p,s)の読み方、USER_TAB_COLUMNSでの確認、INSERT/UPDATE/CSV取込時の直し方をまとめます。
Oracle

【Oracle】ORA-01036の原因と解決方法|illegal variable name/number・バインド変数名/番号が不正です

OracleのORA-01036は、SQL内に存在しないバインド変数を渡したり、列名や表名をバインドしようとしたときに発生します。ORA-01008との違い、IN句、DDL、JDBC/Python、動的SQLでの修正例をまとめます。
Oracle

【Oracle】ORA-00911の原因と解決方法|invalid character・無効な文字ですの直し方

OracleのORA-00911は、SQL内にOracleが認識できない文字が含まれると発生します。セミコロン、スラッシュ、全角スペース、特殊文字、引用符、動的SQL、アプリ実行時の修正例をまとめます。
Oracle

【Oracle】ORA-01008の原因と解決方法|not all variables bound・バインド変数不足の直し方

OracleのORA-01008は、SQL内のバインド変数に値が渡されていないときに発生します。SQL Developer、名前指定、位置指定、EXECUTE IMMEDIATE、アプリ実装、動的SQLでの修正例をまとめます。
Oracle

【Oracle】ORA-00907の原因と解決方法|missing right parenthesis・右括弧がありませんの直し方

OracleのORA-00907は、括弧の閉じ忘れや括弧内の構文ミスで発生します。CREATE TABLE、FOREIGN KEY、CHECK制約、IN句、CASE式、サブクエリ、動的SQLでの修正例をまとめます。
Oracle

【Oracle】ORA-01427の原因と解決方法|single-row subquery returns more than one row・サブクエリの直し方

OracleのORA-01427は、1行だけ返る前提のサブクエリが複数行を返したときに発生します。IN、EXISTS、JOIN、集約、条件追加、ROW_NUMBER、UPDATE、重複データ確認での修正例をまとめます。
Oracle

【Oracle】ORA-00936の原因と解決方法|missing expression・SELECT/WHERE/INSERTの構文ミスを直す

OracleのORA-00936は、SQLに必要な式や値が抜けているときに発生します。SELECT、WHERE、INSERT/UPDATE、CASE式、GROUP BY/HAVING、関数引数、動的SQLで起きるパターンと修正例をまとめます。
Oracle

【Oracle】ORA-00933の原因と解決方法|SQL command not properly ended・LIMIT・UPDATE JOINの注意点

OracleのORA-00933は、SQL構文の末尾や句の位置がOracle文法に合っていないときに発生します。LIMIT、UPDATE JOIN、ORDER BY、DELETE JOIN、Oracle 23aiの直接JOIN、FETCH FIRSTへの書き換えまで実例で解説します。
Oracle

【Oracle】ORA-01861の原因と解決方法|TO_DATE・日付フォーマット・NLS_DATE_FORMATの注意点

OracleのORA-01861は、文字列の日付と書式モデルが一致しないときに発生します。TO_DATE、DATEリテラル、TO_TIMESTAMP、NLS_DATE_FORMAT、暗黙変換を避ける実務パターンまで解説します。
Oracle

【Oracle】IN句の使い方|複数値指定・サブクエリ・NOT INとNULL・EXISTSとの使い分け

OracleのIN句の使い方を、基本構文、複数値指定、サブクエリ、NULL、NOT IN、EXISTS、1000件制限、空リスト、大量INの対策まで実務向けに整理します。
Oracle

【Oracle】バージョンを確認するSQL|V$VERSION・PRODUCT_COMPONENT_VERSION・SQL*Plusで確認

Oracle Databaseのバージョンを確認するSQLをまとめます。V$VERSION、PRODUCT_COMPONENT_VERSION、V$INSTANCE、DBMS_DB_VERSION、SQL*Plusの表示を使い分け、DB本体・パッチ・クライアントの違いを確認します。
Oracle

【Oracle】ORA-01795: リストに指定できる式の最大数は1000です の原因と回避方法

ORA-01795は、IN句などのリストに1000個を超える値を指定したときに起きるOracleエラーです。分割OR、一時表、JOIN、EXISTS、アプリ側の分割処理まで実務向けに整理します。
Oracle

【Oracle】ORA-00913: 値の個数が多すぎます の原因と解決方法

ORA-00913「値の個数が多すぎます」は、列数と値の数が合っていないときに起きるエラーです。INSERT、INSERT SELECT、サブクエリ、IN句で最初に見る箇所と修正例を整理します。
Oracle

【Oracle】expdpオプション一覧|よく使うパラメータ早見表・parfile例

Oracle expdpのよく使うオプションを目的別に整理。基本構文、対象指定、条件付きエクスポート、圧縮・並列化、parfile例までまとめます。
Oracle

【Oracle】V$SQLAREA・V$SQLTEXTとは|SQL本文・実行統計を確認する

OracleのV$SQLAREA・V$SQLTEXTとは何かを解説。SQL_ID検索、長文SQLの復元、実行統計の見方まで整理します。