반응형
Oracle에서 VARCHAR의 XMLTYPE을 변환하는 방법은 무엇입니까?
ORACLE의 테이블(TRANSACTION)에 XMLTYPE(XML_IN 및 XML_OUT)이라는 두 개의 열이 있습니다.VARCHAR 등으로 변환하는 방법을 모르기 때문에 절차가 작동하지 않습니다(오류인 것 같습니다).내 절차는 다음과 같습니다.
PROCEDURE SEARCH_XML
(
P_ID_TRANSACTION IN TRANSACTION.ID_TRANSACTION%TYPE,
P_CURSOR OUT T_CURSOR
)
IS
BEGIN
OPEN P_CURSOR FOR
SELECT T.XML_IN, T.XML_OUT
FROM TRANSACTION T
WHERE T.ID_TRANSACTION = P_ID_TRANSACTION;
END SEARCH_XML;
VisualStudio 2008에서 이 절차를 호출하면 "지원되지 않는 오라클 데이터 유형 USERDEFINED가 발생했습니다."라는 오류 메시지가 표시됩니다.이게 어떻게 작동하는지 아십니까?
XMLType
에는 두 가지 방법이 있습니다.getStringVal()
그리고.getClobVal()
XML 구조를 문자열 표현으로 변환합니다.VARCHAR2
그리고.CLOB
각각)XML 출력이 항상 4,000자(바이트) 미만일 것이라는 사실을 알지 못하는 한, 다음을 사용할 수 있습니다.getClobVal()
다음과 같이:
PROCEDURE SEARCH_XML
(
P_ID_TRANSACTION IN TRANSACTION.ID_TRANSACTION%TYPE,
P_CURSOR OUT T_CURSOR
)
IS
BEGIN
OPEN P_CURSOR FOR
SELECT T.XML_IN.getClobVal() AS XML_IN,
T.XML_OUT.getClobVal() AS XML_OUT
FROM TRANSACTION T
WHERE T.ID_TRANSACTION = P_ID_TRANSACTION;
END SEARCH_XML;
언급URL : https://stackoverflow.com/questions/35039363/how-to-convert-xmltype-in-varchar-in-oracle
반응형
'programing' 카테고리의 다른 글
Spring Security 5 Application Runner에서 OAuth2 Secured API를 호출하면 잘못된 인수가 발생함예외. (0) | 2023.07.05 |
---|---|
VBA: 테이블(목록 개체)의 행 수 계산 (0) | 2023.07.05 |
Firebase 프로젝트 ID의 이름을 변경하려면 어떻게 해야 합니까? (0) | 2023.06.30 |
Excel 2010을 열 때마다 팀 탭이 제거됩니다. (0) | 2023.06.30 |
ASP.NET MVC WebAPI 404 오류 (0) | 2023.06.30 |