0
나는 PL 아래/SQL을 실행하는거야의PL/SQL 컴파일 오류 - PLS-00382은 : 표현은 ... 잘못된 유형
DECLARE
BEGIN
FOR i IN (select VALUE from REWARDS)
LOOP
insert into BT_CMS.T_REWARDS_TYPES
(ID, REWARD_LABEL, REWARD_VALUE, REWARD_METHOD, UPDATE_USER, UPDATE_DATE, PAYMENT_PROVIDER_ID, CREATE_DATE, COUNTRY_CODE_ID)
values
(BT_CMS.SEQ_REWARD_TYPE_ID.nextval, 'R' || i || ' Real Time', i, 'Airtime', 'DEVOPS-826', sysdate, 120, sysdate, 206);
END LOOP;
END;
... 그리고 오류 아래 점점 ...
입니다ORA-06550: line 8, column 72:
PLS-00382: expression is of wrong type
ORA-06550: line 8, column 52:
PLS-00382: expression is of wrong type
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
나는 그 문제가 내가 값으로 대체되고 있음을 확신하지만 나는 정확히 그 문제가 무엇인지 모른다. REWARDS 테이블의 VALUE 열에 data_type = VARCHAR2 (20 BYTE)가 선택되어 있습니다. REWARD_LABEL 열에는 data_type = VARCHAR2 (50 CHAR)이 삽입됩니다.
아, 두 번째 옵션은 훨씬 간단합니다. 완벽한 답변. 고마워, @ Aleksej !! –
@Aleksej - 코드 형식을 지정하기 위해 사용하는 도구/URL은 무엇입니까? 매우 깨끗해 보인다. – Utsav
@Utsav - 일부 구성 후 Oracle v12.1의 Toad입니다. – Aleksej