나는 다음과 같은 코드를 실행하려고에 대한 종료되지 SQL 명령을하고 나는 ORA-00933 오류 얻을 : 내가 할나는 이상한 오류 ... ORA-00933이 : 제대로 APEX의 SQL 문
<code> --CODE B
select distinct po_details.po_id,
po_details.po_det_id,
po_details.change_order,
po_details.start_date,
po_details.end_date,
po_details.po_det_amt,
po_details.scope,
po_details.name,
po_details.po_status,
po_details.wbs
from po_details,wbs,project
where po_details.po_id = :P230_PO_ID
and po_details.wbs = wbs.wbs_number_id
and wbs.po_number_id = :P230_PO_NUMBER
and substr(wbs.wbs_number_id,1,6) = project.wbs_Sequence
and project.project_number = nvl(substr(:F101_FPC_NUMBER,1,10),project.project_number))
</code>
을 내 SQL 문이 잘못 된 곳을 보지 마라.
이 SQL 문 (CODE B)은 사용자 정의 유효성 검사 후 화면을 새로 고칠 때만 다른 오류 메시지와 함께 오류가 발생하는 APEX 응용 프로그램의 코드를 간소화하려는 시도였습니다. 매우 짜증나.
이<code> --CODE A
select po_details.po_id,
po_details.po_det_id,
po_details.change_order,
po_details.start_date,
po_details.end_date,
po_details.po_det_amt,
po_details.scope,
po_details.name,
po_details.po_status,
po_details.wbs
from PO_DETAILS
where po_details.po_id = :P230_PO_ID
and po_details.wbs in (select distinct wbs.wbs_number_id
from wbs, project
where wbs.po_number_id = :P230_PO_NUMBER
and substr(wbs.wbs_number_id,1,6) = project.wbs_sequence
and project.project_number = nvl(substr(:F101_FPC_NUMBER,1,10),project.project_number))
order by po_details.change_order
</code>
이 코드 APEX에있는 SQL 문에 대한 나타나는 오류 메시지는 이것이다 : 는 원래 SQL 문 (CODE A)는이처럼 보였다 report error: ORA-01445: cannot select ROWID from, or sample, a join view without a key-preserved table ORA-06510: PL/SQL: unhandled user-defined exception
... 그리고 사람들은 나에게 말했다 보기 (보기 작성 전에 CODE B 낙서)를 사용하면이 새로 고침 오류 출력 문제가 해결됩니다. 뭐? 새로 고치기 위해이 모든 농구가 있습니까? ORA-00933 오류 메시지를 알아낼 수 있다면 계속 진행할 수 있습니다. 나는 무지개를 쫓고있는 것 같다. 제안 사항이 있으십니까? 감사합니다.
당신 ORA-00933를 들어
동일한 코드로 복사 한 것을 믿을 수 없습니다! ARGH! 내 질문을 올바른 코드로 업데이트했습니다. 관찰에 감사드립니다. – ValerieR
그래서 원래 문제가 무엇인지 발견했습니다. 내 마스터 세부 정보 페이지의 세부 부분에 대한 내 SQL 문에 ORA-01445 오류가 발생한 'order by'절이있는 것으로 보입니다. 일단 'order by'절을 꺼내면 모든 것이 효과가있었습니다! 내 새로 고침이 성공적입니다! – ValerieR