Oracle

【Oracle】PLS-00306の原因と解決方法|wrong number or types of arguments in call

PLS-00306は、PL/SQLのプロシージャ・ファンクション呼び出しで引数の数や型が合わない時のエラーです。ALL_ARGUMENTSでの確認、OUT/IN OUT、名前付き記法、型違いまで整理します。
Oracle

【Oracle】PLS-00201の原因と解決方法|identifier must be declared・識別子を宣言してください

PLS-00201は、PL/SQLで参照した識別子が宣言されていない、または権限不足などで見えない時に発生します。変数スコープ、パッケージ呼び出し、直接GRANT、シノニム確認まで整理します。
Oracle

【Oracle】PLS-00905の原因と解決方法|object is invalid・オブジェクトが無効です

PLS-00905は、PL/SQLで参照しているオブジェクトが無効な時に発生します。INVALID確認、コンパイルエラーの読み方、パッケージ仕様部と本体、依存関係、再コンパイル手順を整理します。
Oracle

【Oracle】ORA-06508の原因と解決方法|PL/SQL: could not find program unit being called

ORA-06508は、PL/SQLから呼び出すパッケージ・プロシージャ・ファンクションが見つからない、または実行できない時のエラーです。INVALID確認、コンパイルエラー、権限、依存関係、既存セッションの影響まで整理します。
Oracle

【Oracle】ORA-04063の原因と解決方法|view/package body has errors・オブジェクトにエラーがあります

ORA-04063は、ビューやPL/SQLオブジェクトにエラーが残っていて実行・参照できない時のエラーです。USER_ERRORSとSHOW ERRORSで実原因を確認し、VIEW、PACKAGE BODY、権限不足、依存オブジェクト別に直す手順を整理します。
Oracle

【Oracle】ORA-04098の原因と解決方法|trigger is invalid and failed re-validation・トリガーが無効です

ORA-04098は、トリガーがINVALID状態で、INSERT/UPDATE/DELETE時に再コンパイルできない時に発生します。コンパイルエラーの見方、無効トリガーの探し方、権限不足、依存オブジェクト変更、再コンパイル手順を整理します。
Oracle

【Oracle】ORA-01843の原因と解決方法|not a valid month・月が無効です

ORA-01843は、月の値や月名をOracleが有効な月として解釈できない時のエラーです。TO_DATEの書式不一致、NLS_DATE_LANGUAGE、暗黙変換、DATE型へのTO_DATE誤用、INSERT/WHERE句での発生パターンを整理します。
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への書き換えまで実例で解説します。