Я пытаюсь вставить данные из переменной XmlType в таблицу с помощью Oracle SQL Developer.
Я также очень новичок в Oracle.Я пытаюсь передать данные XML из базы данных SQL Server в Oracle, используя XML.
Я пробовал несколько решений из Stack Overflow и других сайтов, но, похоже, ничего не работает правильно.
Следующее основано на решении, которое я нашел на переполнении стека.Я запускаю это на Oracle Developer:
with sample_data as (select xmltype(
'<People>
<Person>
<ID>PP11</ID>
</Person>
<Person>
<ID>PP22</ID>
</Person>
</People>') xml_data from dual)
--INSERT INTO Person (ID)
select x.ID
from sample_data sd
cross join xmltable('/People/Person'
passing sd.xml_data
columns ID varchar2(20) path 'ID') x;
Обратите внимание, что оператор Insert Into закомментирован.
Если я запускаю это в SQL Developer как есть, я получаю:
ID
--------------------
PP11
PP22
Если я включу Вставку в утверждение, я получу:
Error starting at line : 2 in command -
with sample_data as (select xmltype(
'<People>
<Person>
<ID>PP11</ID>
</Person>
<Person>
<ID>PP22</ID>
</Person>
</People>') xml_data from dual)
INSERT INTO Person (ID)
select x.ID
from sample_data sd
cross join xmltable('/People/Person'
passing sd.xml_data
columns ID varchar2(20) path 'ID') x
Error at Command Line : 12 Column : 1
Error report -
SQL Error: ORA-00928: missing SELECT keyword
00928. 00000 - "missing SELECT keyword"
*Cause:
*Action:
Может кто-нибудь сказать мне, что я делаю неправильно!Я сделал это с SQL Server и поэтому ожидал, что Oracle сможет это сделать, и поэтому я должен упустить что-то очевидное!