Oracle
 sql >> база данни >  >> RDS >> Oracle

Грешка с невалиден идентификатор за v_MONTH в динамична заявка

Тъй като сте съставили SQL израза като низ, PLSQL машината НЕ замества името на променливата (тя е само част от литерал низ), следователно SQL машината вижда низа „V_MONTH“, но няма колона с това име, следователно невалиден идентификатор . Ако останете с динамичен SQL, ще трябва сами да направите заместване на стойност. Същото важи и за другите променливи. И така:

  EXECUTE IMMEDIATE UTL_LMS.FORMAT_MESSAGE(
  'UPDATE /*+ index(a LEDGER_STAT_DLY_IDX02_IN) */ LEDGER_STAT_DLY A
      SET %s =  NVL(%s,0) + NVL(%s ,0)
    WHERE IDENTITY_CODE =  NVL(%s ,0)
      AND YEAR_S =  NVL(%s ,0)
      AND MONTH_NO = NVL(%s ,0)'
     ,V_TARGET_COLUMN, V_TARGET_COLUMN ,V_AMOUNT,V_IDENTITY_CODE,V_YEAR_S,V_MONTH);

Може също да се наложи да извършите необходимите преобразувания на формати.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. проблем с кодирането на oracle + java при вмъкване

  2. Как мога да се свържа с уеб базирана база данни на Oracle с Java?

  3. Как да проверя дали стойността на DataReader не е нула?

  4. Импортирайте CSV файл във външна таблица на Oracle

  5. извличане на специален знак от низ в oracle sql