2016-05-12 10 views
0

Ich habe XML-Format-Datei für Account-Tabelle mit Abfrage erstellt als: SELECT table_to_xml ('account', true, FALSE, '');Wie XML-Daten in Postgres-Datenbanktabelle importieren?

----- Die Tabellenstruktur ist als: TABLE public.account CREATE ( account_id INTEGER NOT NULL, name VARCHAR (1) NOT NULL, Typ VARCHAR (20), group_name VARCHAR (50) , CONSTRAINT account_pkey PRIMÄRSCHLÜSSEL (account_id));


Frage: Wie kann ich Daten direkt in Kontentabelle laden XML-Datei in PostgreSQL mit?

Antwort

0

Ich musste varchar (2) wegen der Konvertierung von XML verwenden.

Ich habe ein select into (erstellt public.account)

select account_id::text::int, account_name::varchar(2), 
account_type::varchar(20) , account_group::varchar(50) INTO 
public.account from(
WITH x AS (SELECT 
'<accounts> 
<account> 
<account_id>1</account_id> 
<account_name> A </account_name> 
<account_type> off shore</account_type> 
<account_group> slush fund </account_group> 
</account> 
<account> 
<account_id>3</account_id> 
<account_name> C </account_name> 
<account_type> off shore</account_type> 
<account_group> slush fund </account_group> 
</account> 
</accounts> '::xml AS t) 

SELECT unnest(xpath('/accounts/account/account_id/text()', t)) 
AS account_id, 
    unnest(xpath('/accounts/account/account_name/text()', t)) 
AS account_name, 
    unnest(xpath('/accounts/account/account_type/text()', t)) 
AS account_type, 
    unnest(xpath('/accounts/account/account_group/text()', t)) 
AS account_group 

FROM x) as accounts 

Wenn Sie Interesse beim Lesen der XML-Datei in dann kann dies nützlich sein, verwendet.

Ref stackexchange sql to read xml from file into postgresql

Ich hoffe, das Ja

+0

hilft ... ich ... Vielen Dank für die Antwort versuchen. –