Выполните процедуру ошибки «ORA-00911: недопустимый символ» - PullRequest
0 голосов
/ 26 марта 2019

Я создаю новую процедуру для обновления неправильного поля sql из таблицы БД (po_headers_all) и поля таблицы (ATTRIBUTE2).Затем, когда я пытаюсь выполнить процедуру, появляется сообщение об ошибке «ORA-00911: недопустимый символ»

Запуск сценария в среде БД: ORACLE 12C

 procedure update_epo_attribute2 (epo_num NUMBER, P_ORG_ID NUMBER) IS

BEGIN

 UPDATE apps.po_headers_all
 SET ATTRIBUTE2 = 'Contract'
   WHERE  ATTRIBUTE2 = 'Perm'
     AND segment1 = EPO_NUM
     AND org_id = P_ORG_ID
     AND segment1 IN (SELECT poh.segment1
                        FROM   apps.po_requisition_headers_all prh,
                               apps.po_requisition_lines_all prl, 
                               apps.po_req_distributions_all prd,
                               apps.po_headers_all poh,
                               apps.po_distributions_all pda       
                        WHERE prh.requisition_header_id = prl.requisition_header_id
                          AND prh.type_lookup_code = 'PURCHASE'
                          AND prd.requisition_line_id = prl.requisition_line_id
                          AND pda.req_distribution_id (+) = prd.distribution_id
                          AND pda.po_header_id = poh.po_header_id (+)
                          AND poh.ATTRIBUTE2 = 'Perm'
                          AND prl.SUGGESTED_VENDOR_LOCATION = 'CONTRACT');

commit;

end;

Затем приведенный ниже пример выполнения сценария процедуры в элементе управления ORACLE:

='declare
   begin
    PO_ETL.update_epo_attribute2 ('''||${item.PO_HEADERS.SEGMENT1.VALUE}||''','''||$${item.PO_HEADERS.ORG_ID.VALUE}||''');
  end'

Результат не выполнен и отображается сообщение об ошибке "ORA-00911: недействительносимвол ".

...