В SQL Server легко проанализировать переменную vachar, которая содержит простой фрагмент XML, созданный с атрибутами, и загрузить его во временную таблицу - см. Пример ниже:
declare @UpdateXML VARCHAR(8000)
set @UpdateXML='<ArrayOfRecords>
<Record Field01="130" Field02="1700" Field03="C" />
<Record Field01="131" Field02="1701" Field03="C" />
<Record Field01="132" Field02="1702" Field03="C" />
</ArrayOfRecords>'
DECLARE @hdoc int
EXEC sp_xml_preparedocument @hdoc OUTPUT, @UpdateXML
INSERT
INTO #tblTemp(
[Field01],
[Field02],
[Field03]
)
SELECT *
FROM OPENXML(@hdoc, '//ArrayOfRecords/Record')
WITH ( Field01 int,
Field02 int,
Field03 char(1)
)
EXEC sp_xml_removedocument @hdoc
Есть ли простой пример, эквивалентный этому в Oracle PL / SQL?
В Oracle есть пакет DBMS_XMLSTORE, но ему нужен фрагмент XML в определенном каноническом формате с использованием элементов ROWSET и ROW. DBMS_XMLSTORE не работает с атрибутами XML.
Кроме того, я не уверен на 100%, нужно ли мне создать XSD из моего фрагмента XML и зарегистрировать его в базе данных Oracle, прежде чем я смогу использовать другие инструменты / запросы PL / SQL XML.
Спасибо!