How can I import an XML file into a Firebird database table by executing a SQL statement?
I tried this but it doesn't work.
CREATE PROCEDURE IMPORT_DATA
AS
DECLARE VARIABLE xml_file_path VARCHAR(255);
DECLARE VARIABLE anlagen_nr INT;
BEGIN
xml_file_path = 'PATH';
device_number = NUMBER;
INSERT INTO TABLE (ROW1, ROW2, ROW3)
VALUES (
:device_number,
(SELECT CAST(X.Z.value('(Number)[1]', 'INT') AS INT) FROM XMLTABLE('/TopologyImportExport/DetectorZones/Zone' PASSING XMLPARSE(DOCUMENT :xml_file_path) COLUMNS Z XMLTYPE PATH '.')
),
(SELECT X.Z.value('(Label)[1]', 'VARCHAR(255)') FROM XMLTABLE('/TopologyImportExport/DetectorZones/Zone' PASSING XMLPARSE(DOCUMENT :xml_file_path) COLUMNS Z XMLTYPE PATH '.'))
);
END
To import XML into Firebird database you must use an external utility that parse XML file, transform data into relational form and then import it into the database. One of such utilities is XMLWizard.