Я пытаюсь создать базу данных с помощью OracleXE11, и я пытаюсь создать XML-таблицы и вводить в них данные.
Шаг 1:
CREATE TABLE Customer(
customerId int Primary KEY,
signUpDate Date NOT NULL,
CustomerData XMLTYPE,
CustomerAdress XMLTYPE);
Шаг 2:
CustomerData.xml
<?xml version="1.0"?>
<CustomerData>
<Customer>
<name>Alex Smith</name>
<type>Fleet</type>
<nip>1234567890</nip>
</Customer>
<Customer>
<name>Saly North</name>
<type>person</type>
<nip>2345678901</nip>
</Customer>
<CustomerData>
АдресКлиента.xml
<?xml version="1.0"?>
<CustomerAdress>
<Adress>
<city>Xxxx</city>
<street>Yyyy 2</Street>
<postcode>56-200</postcode>
</Adress>
<Adress>
<city>Zzzz</city>
<Street>Uuuu 5</street>
<postcode>57-300</postcode>
</Adress>
<CustomerAdress>
Шаг 3:
CREATE OR REPLACE DIRECTORY XMLDIR AS 'C:\xml_files';
Шаг 4: Теперь у меня проблема, потому что я не знаю, как вводить эти данные. Я пытался:
INSERT INTO Customer (customerId, signUpDate, CustomerData, CustomerAdress) VALUES
(1, to_date('12-05-1970','dd-mm-yyyy'), XMLType(bfilename('XMLDIR', 'CustomerData.xml'), nls_charset_id('AL32UTF8')), XMLType(bfilename('XMLDIR', 'CustomerAdress.xml'), nls_charset_id('AL32UTF8')));
но он возвращает мне 1 строку (я знаю, почему... потому что при создании только 1 строки с использованием всех XML-файлов, которые я объявил)
Я подумал... может быть, ПРОЦЕДУРА (PL/SQL) поможет мне с этим
И другие проблемы (мне нужно использовать их все для обновления/вставки/удаления): - Xpath - DOM - SAX - Xquery - создание XML-схемы для проверки введенного XML-файла - запись XML-файла из БД в файл.xml на рабочем столе - чтение XML-файл.xml с рабочего стола в БД
Я даже не уверен, хорошо ли я начал с этого. //------------------------------------------------ ------------// Я пытаюсь вставить xmlfile в таблицу, но я не знаю, как разделить данные из xmlfile
чего я ожидаю
РЯД 1:
customerId = 1 ||
signUpDate = 12-05-1970 ||
CustomerData = <name>Alex Smith</name> <type>Fleet</type> <nip>1234567890</nip> ||
CustomerAdress = <city>Xxxx</city> <street>Yyyy 2</Street> <postcode>56-200</postcode>
РЯД 2:
customerId = 2 ||
signUpDate = 26-10-2007 ||
CustomerData = <name>Saly North</name> <type>Person</type> <nip>2345678901</nip> ||
CustomerAdress = <city>Zzzz</city> <street>Uuuu 5</Street> <postcode>57-300</postcode>
. . .
РЯД №:
customerId = n ||
signUpDate = dd-mm-yyy ||
CustomerData = <name>Xxx Yyy</name> <type>Xxx</type> <nip>nnnnnnnnnn</nip> ||
CustomerAdress = <city>Xxx</city> <street>Xxx</Street> <postcode>xx-xxx</postcode>
на мой взгляд, так должна выглядеть таблица XMLTYPE, но я могу ошибаться (также мне нужно работать с этой XMLDB, используя простые операции, такие как вставка/удаление/обновление с использованием sql-запроса)