変更の始まり

-206   object-name IS NOT VALID IN THE CONTEXT WHERE IT IS USED

説明

オブジェクトが無効なコンテキストで、オブジェクトが指定されています。

object-name
解決できなかったオブジェクトの名前。

このエラーの原因としては、以下のことが考えられます。

  • 指定された名前が、ステートメントのソースまたはターゲットの表あるいはビューの列ではありません。
    • SELECT または DELETE ステートメントでは、指定された名前が、ステートメントの FROM 文節で識別される表またはビューの列ではありません。
    • INSERT、UPDATE、または MERGE ステートメントでは、指定された名前が、データ変更ステートメントのターゲットとして指定された表またはビューの列ではありません。
    • SQL データ変更ステートメントの列リストに、ステートメントのターゲット表またはビューの列ではない名前が指定されました。
  • 修飾列名が指定されましたが、修飾子として指定されている表指定子は、このコンテキストでは定義されていません。
  • 列に対する相関参照が OLAP 指定で指定されました。 OLAP 指定で参照されている各列名は、OLAP 指定が含まれている副選択の結果表の列を明確に参照する必要があります。
  • 指定された期間が、ステートメントのソースまたはターゲットの表あるいはビューの期間ではありません。
  • SQL データ変更ステートメントの代入節のターゲットに、ステートメントのターゲット表またはビューの列ではない名前、あるいはステートメントに定義された INCLUDE 列ではない名前が指定されました。DELETE ステートメントの場合は、代入文節のターゲットにできるのは、INCLUDE 列のみです。
  • SQL データ変更ステートメントの代入節のソースが、式の INCLUDE 列を参照しました。INCLUDE 節に定義された列は、SQL データ変更ステートメントの割り当てのターゲットとしてのみ指定できます。
  • 列に対する相関参照がグループ化式に指定されました。これは許可されません。
  • UPDATE または DELETE ステートメントの INCLUDE 文節に定義された列が、そのステートメントの WHERE 文節で参照されました。
  • 指定された名前が、副選択内の相関列参照です。これは許可されません。
  • SQL データ変更ステートメントの VALUES 節に、ターゲット表の列の名前が指定されました。これは、許可されません。
  • CREATE または ALTER FUNCTION ステートメント、または CREATE または ALTER PROCEDURE ステートメントの場合は、以下のとおりです。
    • 指定された name は、列または変数の名前には解決されません。
    • 指定された name は、現在の有効範囲内で使用できない変数の名前に解決されます。
    • SIGNAL ステートメントで指定された条件名 name は、まだ宣言されていません。
  • CREATE TRIGGER ステートメントの場合は、以下のとおりです。
    • 遷移変数の OLD 相関名または NEW 相関名を使用して、名前への参照が行われています。この名前は、トリガー表の列として定義されていません。
    • トリガー・アクションの割り当てのターゲットに、トリガーのタイプに対して無効な古い遷移変数が指定されました。
    • 参照名は、列または変数の名前には解決されません。
    • 指定された name は、現在の有効範囲内で使用できない変数の名前に解決されます。
    • SIGNAL ステートメントで指定された条件名 name は、まだ宣言されていません。
    • ターゲット変数が、遷移変数ではありません。基本トリガーの SET 割り当てステートメントのターゲットは、遷移変数でなければなりません。
  • 配列エレメントの索引に指定された列参照は、SELECT INTO ステートメントの INTO 節では許可されません。

システムの処置

このステートメントを処理することはできません。

プログラマーの応答

以下の項目を確認します。

  • SELECT ステートメントの場合:
    • 必要なすべての表が、FROM 節に指定されていることを確認します。
    • 必要なすべての表またはビューが、FROM 節内に指定されていることを確認します。 その名前が、列に対する相関参照を表すことを意図していた場合は、正しい表指定子で名前を修飾します。
    • ORDER BY 節の副選択について、相関列参照がないことを確認します。
  • DELETE ステートメントの場合、INCLUDE 節に定義されている列が、割り当てのターゲットとしてのみ指定されていることを確認します。
  • CREATE FUNCTION、ALTER FUNCTION、CREATE PROCEDURE、または ALTER PROCEDURE ステートメントの場合、以下を確認します。
    • 指定された name が、列変数の名前に解決される。
    • 指定された name が、現在の有効範囲内で使用できる変数の名前に解決される。
    • SIGNAL ステートメントで指定された条件名 name が宣言済みである。
  • CREATE TRIGGER ステートメントの場合、以下を確認します。
    • SET transition-variable ステートメントの割り当てのターゲットに、新しい遷移変数のみが指定されている。トリガー表の列 (WHEN 文節検索条件の最上位照会ブロックに含まれている列を含む) への参照がすべて、遷移変数相関名で修飾されている。
    • WHEN 文節検索条件の最上位照会ブロックに、遷移変数または遷移表相関名のみが含まれている。
    • 指定された name が、現在の有効範囲内で使用できる変数の名前に解決される。
    • SIGNAL ステートメントで指定された条件名 name が宣言済みである。
  • SELECT INTO ステートメントの場合、配列エレメントの索引が INTO 節で列として指定されていないことを確認します。

SQLSTATE

42703

変更の終わり