2016-09-16 7 views
2

를 삽입 그래서 나는이 테이블을날짜 데이터

RPG_RETCON (
    UNIQUE_ID  VARCHAR2(100 BYTE), 
    CONTAINER  VARCHAR2(100 BYTE), 
    DATA_POINT_NAME VARCHAR2(100 BYTE), 
    SOURCE_VALUE VARCHAR2(100 BYTE), 
    CSS_VALUE  VARCHAR2(100 BYTE), 
    STATUS   VARCHAR2(100 BYTE) 
) 

이 그리고 내가 그 테이블에이 SELECT 문을 삽입하기 위해 노력하고있어.

INSERT INTO RPG_RETCON 
    (SELECT A.POOL_CUSIP_ID AS UNIQUE_ID, 
       '1_13_1C' AS CONTAINER, 
       'SECU_ACTL_STLM_DT' AS COLUMN_NAME1, 
      TO_CHAR(A.SECU_ACTL_STLM_DT), 
       TO_CHAR(B.SECU_ACTL_STLM_DT), 
       CASE 
        WHEN A.SECU_ACTL_STLM_DT = B.SECU_ACTL_STLM_DT 
        THEN 
         'PASS' 
        ELSE 
         'FAIL' 
       END 
        AS STATUS 
      FROM POOL_1_13_1C_TRGT A 
      LEFT JOIN POOL_1_13_1C_CSS B ON A.POOL_CUSIP_ID = B.POOL_CUSIP_ID); 

이제 문제는 SECU_ACTL_STLM_DT이 날짜 필드는 점이다 그리고 내가 삽입을하려고 할 때, 나는 잘못된 번호 오류가 발생합니다. A.SECU_ACTL_STLM_DT로 TO_CHAR을 (를) 가져 가면 B.SECU_ACTL_STLM_DT, 달이 유효하지 않습니다.

참고 : 나는 절대적으로

SOURCE_VALUE VARCHAR2(100 BYTE) 
CSS_VALUE  VARCHAR2(100 BYTE) 

을 변경할 수 없습니다 - 테이블 구조 내에서 ... 그들은 VARCHAR2 데이터 유형해야 을.

이 선택문을 자유롭게 삽입 할 수있는 곳이 있습니까?

답변

1

나는 코드가 작동해야한다고 생각합니다. 그러나 열을 명시 적으로 나열하고 삽입 할 날짜 형식을 추가합니다. 아마도 이것은 도움이 될 것입니다 : SECU_ACTL_STLM_DT 열 중 하나가 날짜하지 않고 비교가 실패 가능성이

INSERT INTO RPG_RETCON(UNIQUE_ID, CONTAINER, COLUMN_NAME1, SOURCE_VALUE, CSS_VALUE, STATUS) 
    SELECT A.POOL_CUSIP_ID AS UNIQUE_ID, '1_13_1C' AS CONTAINER, 
      'SECU_ACTL_STLM_DT' AS COLUMN_NAME1, 
      TO_CHAR(A.SECU_ACTL_STLM_DT, 'YYYY-MM-DD'), 
      TO_CHAR(B.SECU_ACTL_STLM_DT, 'YYYY-MM-DD'), 
      (CASE WHEN A.SECU_ACTL_STLM_DT = B.SECU_ACTL_STLM_DT 
       THEN 'PASS' 
       ELSE 'FAIL' 
      END) AS STATUS 
    FROM POOL_1_13_1C_TRGT A LEFT JOIN 
     POOL_1_13_1C_CSS B 
     ON A.POOL_CUSIP_ID = B.POOL_CUSIP_ID; 

.

+0

당신은 절대적으로 정확합니다 ... 의 다른 테이블을 확인했습니다. POOL_1_13_1C_TRGT- DATE 데이터 유형이 있습니다. POOL_1_13_1C_CSS -이 데이터 유형에 대해 VARCHAR2를가집니다. 감사합니다. –