DB2: "SQL0206N "INVOICEDATE"가 사용되는 컨텍스트에서 유효하지 않습니다.SQLSTATE=42703" 오류를 해결하는 방법

DB2: "SQL0206N "INVOICEDATE"가 사용되는 컨텍스트에서 유효하지 않습니다.SQLSTATE=42703" 오류를 해결하는 방법

Linux에서는 DB2에 연결하여 가장 오래된 송장을 가져오려고 했습니다. 아래 쿼리를 사용하는 동안 오류가 표시됩니다.SQL0206N "INVOICEDATE" is not valid in the context where it is used.SQLSTATE=42703

db2 "select min(INVOICEDATE) from RHA2";

이 오류를 해결하려면 어떻게 해야 합니까? 도움이 됐나요?

미리 감사드립니다.

답변1

$ db2 "? sql206"

SQL0206N ""은(는) 사용되는 컨텍스트에서 유효하지 않습니다.

설명:

이 오류는 다음과 같은 경우에 발생할 수 있습니다.

  • INSERT 또는 UPDATE 문의 경우 지정된 열이 삽입 또는 업데이트 개체로 지정된 테이블 또는 뷰의 열이 아닙니다
    .


  • SELECT 또는 DELETE 문의 경우 지정된 열은 명령문 의 FROM 절에서 식별된 테이블이나 뷰의 열이 아닙니다 .

  • 할당 문의 경우 참조 이름은 열이나 변수의 이름으로 확인되지 않습니다.

  • 행 유형 변수의 필드를 참조할 때 참조 이름은 행 유형의 필드 이름으로 해석되지 않습니다.

  • ORDER BY 절의 경우 지정된 열은 허용되지 않는 subselect의 상관 열 참조입니다.

  • 매개 변수가 있는 커서 생성자의 SELECT 문의 경우 ""에 대한 참조가 열 또는 범위 내 변수와 일치하지 않습니다. 지역 변수 및 루틴 SQL 매개변수는 매개변수화된 커서의 범위에서 고려되지 않습니다.

  • 독립형 복합 SQL(컴파일된)문의 경우:

    • 참조 ""는 범위 내에 있는 열 또는 지역 변수의 이름으로 확인되지 않습니다.

    • SIGNAL 문에 지정된 조건 이름 ""이(가) 선언되지 않았습니다.

    • 행 유형 변수의 필드를 참조할 때 참조 이름은 행 유형의 필드 이름으로 해석되지 않습니다.

  • CREATE TRIGGER, CREATE METHOD, CREATE FUNCTION 또는 CREATE PROCEDURE 문의 경우:

    • 참조 ""는 열 이름, 지역 변수 또는 전이 변수로 해석되지 않습니다.

    • 참조 ""는 현재 범위에서 사용할 수 없는 지역 변수의 이름으로 확인됩니다.

    • SIGNAL 문에 지정된 조건 이름 ""이(가) 선언되지 않았습니다.

    • 행 유형 변수의 필드를 참조할 때 참조 이름은 행 유형의 필드 이름으로 해석되지 않습니다.

  • CREATE TRIGGER 문의 경우:

    • OLD 또는 NEW 상관 이름을 사용하지 않고 주제 테이블의 컬럼에 대한 참조가 작성됩니다.

    • 트리거된 조치의 SET 전이 변수 명령문 지정의 왼쪽은 새 전이 변수만 지원되는 이전 전이 변수를 지정합니다.

  • PREDICATES 절이 있는 CREATE FUNCTION문의 경우:

    • SQL 함수의 RETURN 문이 매개변수가 아닌 변수나 RETURN 문의 범위에 있는 다른 변수를 참조합니다.

    • FILTER USING 절이 WHEN 절의 매개변수 이름이나 표현식 이름이 아닌 변수를 참조합니다.

    • 인덱스 활용 규칙의 검색 대상이 생성 중인 함수의 일부 매개변수 이름과 일치하지 않습니다.

    • 인덱스 활용 규칙의 검색 인수가 EXPRESSION AS 절의 표현식 이름이나 생성 중인 함수의 매개변수 이름과 일치하지 않습니다.

  • CREATE INDEX EXTENSION문의 경우 RANGE THROUGH절 또는 FILTER USING절이 해당 절에서 사용할 수 있는 매개변수 이름이 아닌 변수를 참조합니다.

  • 매개변수화된 커서 변수 참조의 경우 매개변수화된 커서 변수 정의에 사용된 select 문에서 참조된 로컬 SQL 변수 또는 SQL 매개변수
    는 현재 범위에서 사용할 수 없습니다.

  • 기간 참조의 경우 지정된 기간이 명령문의 소스, 대상 테이블이나 뷰에 없습니다.

명세서를 처리할 수 없습니다.

사용자 응답:

SQL 문에 이름이 올바르게 지정되었는지 확인하십시오. SELECT 문의 경우 필요한 모든 테이블의 이름이 FROM 절에 지정되어 있는지 확인하세요. ORDER BY 절의 subselect의 경우 상관된 열 참조가 없는지 확인하십시오. 테이블에 상관 이름이 사용되는 경우 후속 참조가 테이블 이름이 아닌 상관 이름을 사용하는지 확인하십시오.

CREATE TRIGGER문의 경우 SET 전이 변수 명령문의 지정 왼쪽에 새 전이 변수만 지정되고 주제 테이블의 컬럼에 대한 모든 참조에 상관 이름이 지정되어 있는지 확인하십시오.

독립형 복합 SQL문, CREATE FUNCTION, CREATE PROCEDURE 또는 CREATE TRIGGER문의 경우 현재 복합 SQL문의 범위에서 컬럼이나 변수를 사용할 수 있는지 확인하십시오.

db2-fn:sqlquery 함수를 사용하여 XQuery에 포함된 fullselect의 경우 fullselect 내의 참조는 fullselect 컨텍스트의 열, 전역 변수 또는 다음을 사용하여 새 SQL 컨텍스트에 전달된 매개변수 중 하나여야 합니다. db2-fn:sqlquery 함수의 추가 인수입니다.

SQL코드: -206

SQL상태: 42703

관련 정보