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バイト)が入っています。私が挿入しようとしているREWARD_LABEL列にdata_type = VARCHAR2(50 CHAR)があります。
ああ、2番目のオプションははるかに簡単です。 完璧な答え。ありがとう、@アレクセ! –
@Aleksej - コードの書式設定にはどのツール/ URLを使用しますか?非常にきれいに見えます。 – Utsav
@Utsav - いくつかの設定の後、Oracle v12.1のToadです – Aleksej