일부 테이블에서 XML을 생성하는 코드가 있습니다. 내가 쿼리하고있는 테이블은 XSD 파일에서 생성되었습니다.이 파일은 생성하려고하는 XML을 설명합니다. 문제는 테이블과 필드의 이름이 스키마의 이름과 다른 명명 규칙을 따르는 것입니다. 예를 들어 스키마의 "personID"라는 요소는 데이터베이스 테이블의 "PRSN_ID"가됩니다. 출력을 생성하려면 다음과 같은 코드가 필요합니다.XML 출력의 태그 이름 바꾸기
Select xmlelement("person",
xmlelement("personID",PRSN_ID),
xmlelement("personName",PRSN_NAM),
...
예상대로 지루해지기 시작합니다. 나는 더 나은 해결책을 찾고있다. xmlforest를 사용하여 태그에 선택된 열과 동일한 이름을 부여 할 수 있다는 것을 알고 있으며 이제는 번역 할 방법이 필요합니다. 예를 들어 나는, 생성 된 경우 :
/*the full long list of columns names can be generated so it's an easy copy-paste:*/
select xmlelement("PRSN", xmlforest(PRSN_ID,PRSN_NAM,...
/*produces this:*/
<PRSN>
<PRSN_ID>1<PRSN_ID/>
<PRSN_NAM>BOB<PRSN_NAM/>
...
나는이로 번역해야합니다 :
<person>
<personID>1</personID>
<personName>BOB</personName>
...
어떻게 오라클 PL/SQL에 번역의이 종류의 일을 가겠어요? 나는 "PRSN_ID"가 "personID"로 변환되어야한다는 것을 알려주는 생성 된 매핑 파일을 가지고 있는데,이 작업을 계속 진행하는 가장 좋은 방법은 확실치 않습니다.
Duh ... 나는 그것을 어떻게 놓쳤는가? : P 그래, 아마도 그 일을 끝낼 것입니다 (DBA 객체가이 테이블에 대해> 90 개의 뷰를 생성하지 않는 한, 스크립트를 통해이를 수행 할 수 있습니다). 그 아이디어를 가져 주셔서 감사합니다! – FrustratedWithFormsDesigner
이것은 내가 선호하는 솔루션이지만 데이터베이스에서 뷰를 생성 할 수 없기 때문에 DBA가 뷰를 생성 할 수있을 때까지 Excel 매크로를 사용하여 추한 SELECT 문을 생성합니다. – FrustratedWithFormsDesigner