How to import from a XML file into a Firebird table

60 Views Asked by At

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
1

There are 1 best solutions below

3
user13964273 On

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.