SQL0204N
"<name>" は未定義の名前です。
説明
このエラーは、以下のいずれかが原因です。
・"<name>" によって示されているオブジェクトが、データベースに定義されていません。
・"<name>" によって示されているオブジェクトが、モジュールに定義されており、公開されたモジュール・オブジェク
トではなく、モジュールの外部から参照されていました。
・"<name>" によって示されているデータ・パーティションが、表に定義されていません。
・データ・タイプが使用されています。 このエラーは、以下の理由で発生する可能性があります。
・"<name>" が修飾されている場合は、この名前のデータ・タイプは、修飾子と一致するスキーマ、またはユーザーの
SQL パスに基づいて最初に検出された修飾子と一致するモジュールのどちらにも存在しません。
・"<name>" が修飾されていない場合は、ユーザーのパスに必要なデータ・タイプが属しているスキーマが入っていない
か、また は参照がモジュール・ルーチン内にあれば、データ・タイプがモジュールで定義されていません。
・パッケージがバインド時間より前の作成タイム・スタンプのデータベースには、 データ・タイプはありません (静的ステ
ート メントに該当します)。
・データ・タイプが CREATE TYPE ステートメントの UNDER 節にある場合は、 タイプ名は定義されたタイプと同じの可
能性があ ります。 これは有効ではありません。
・関数が以下のいずれかで参照されています。
・DROP FUNCTION ステートメント
・COMMENT ON FUNCTION ステートメント
・CREATE FUNCTION ステートメントの SOURCE 節
"<name>" が修飾されている場合は、関数が存在しません。 "<name>" が修飾されていない場合は、この名前の関数
が現行パス のいずれのスキーマにも存在しません。
関数は、COALESCE、DBPARTITIONNUM、GREATEST、HASHEDVALUE、LEAST、MAX (scalar)、MIN (scalar)、
NULLIF、RID、NVL、RAISE_ERROR、TYPE_ID、TYPE_NAME、TYPE_SCHEMA、または VALUE 組み込み関数から
入手することはできないことに注意してください。
・"<name>" という名前のエレメントが CREATE SECURITY LABEL COMPONENT ステートメントの UNDER 節の右側で
使用されていますが、ROOT としてまたは他のエレメントの UNDER であるとしてまだ定義されていません。
・セキュリティー・ラベル・コンポーネント・エレメント "<name>" がまだ定義されていません。
・以下のいずれかのスカラー関数が、データベースで定義されていない "<name>" によって示されるセキュリティー・ポリ
シーを指定しました。
・SECLABEL
・SECLABEL_TO_CHAR
・SECLABEL_BY_NAME
この戻りコードは、すべてのタイプのデータベース・オブジェクトに対して生成されます。
フェデレーテッド・システム・ユーザーの場合: "<name>" によって識別されるオブジェクトがデータベースで定義されていないか、 または "<name>" が DROP NICKNAME ステートメントでニックネームになっていません。
一部のデータ・ソースは、"<name>" に適切な値を提供しません。 この場合、メッセージ・トークンは "OBJECT:<data source> TABLE/VIEW" のフォーマットになります。これは、指定されたデータ・ソースの実際の値が不明であることを示します。
ステートメントは処理できません。
ユーザーの処置
オブジェクト名 (必須の修飾子を含む) が、SQL ステートメントに正しく指定されており、それが存在することを 確認してください 。 名前がデータ・パーティションを指す場合は、カタログ表 SYSCAT.DATAPARTITIONS を照会して、表のすべてのデータ・パーティションの名前を検索してください。 SOURCE 節にデータ・タイプまたは関数が抜けている 場合は、オブジェクトが存在しない可能性が あるか、または オブジェクトはどこかに存在しているが、スキーマが パスに存在しない可能性があります。
CREATE または ALTER SECURITY LABEL COMPONENT ステートメントでは、新規のエレメント値のロケーションを位置指定するための、 参照エレメント値として指定された各エレメントが、セキュリティー・ラベル・コンポーネントにすでに存在することを確認してください。
CREATE SECURITY LABEL COMPONENT ステートメントでは、各エレメントを、UNDER 節で親として指定する前に、ROOT としてまたは UNDER 節で子として指定されていることを確認してください。
スカラー関数 SECLABEL、SECLABEL_TO_CHAR、または SECLABEL_BY_NAME では、引数 security-policy-name に有効なセキュリティー ・ポリシーが指定されていることを確認してください。
フェデレーテッド・システム・ユーザーの場合: ステートメントが DROP NICKNAME の場合は、オブジェクトが実際にニックネームで あるかどうかを確認してください。 オブジェクトはフェデレーテッド・データベースまたはデータ・ソースに存在しない可能性があ ります。 フェデレーテッド・データベース・オブジェクトとデータ・ソース・オブジェクト (存在する場合) の存在を確認してくだ さい。
コード
-
SQLCODE : -204
SQLSTATE : 42704
原因・対処例
FROM句で指定している表の名称が誤っている場合。
例えば、以下のSQLを実行するとエラーが発生します。
SQL> SELECT * 2 FROM TRN_SALARRY; 行 1 の近くでエラー: SQL0204N "SPMLUSR.TRN_SALARRY" は未定義の名前です。
「TRN_SALARRY」は存在しないためエラーとなります。正しい表名「TRN_SALARY」に変更するとエラーが出なくなります。
SQL> SELECT * 2 FROM TRN_SALARY; EMP_NO PAYMENT_YM KYUYO_KNG ------------- ------------- ------------- 101 202104 200000