Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle:memuat file xml besar?

Anda dapat mengakses file XML di server melalui SQL. Dengan data Anda di /tmp/tmp.xml, pertama-tama Anda akan mendeklarasikan direktori:

SQL> create directory d as '/tmp';

Directory created

Anda kemudian dapat menanyakan File XML Anda secara langsung:

SQL> SELECT XMLTYPE(bfilename('D', 'tmp.xml'), nls_charset_id('UTF8')) xml_data
  2    FROM dual;

XML_DATA
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<badges>
  [...]

Untuk mengakses bidang dalam file Anda, Anda dapat menggunakan metode yang dijelaskan dalam SO lain misalnya:

SQL> SELECT UserId, Name, to_timestamp(dt, 'YYYY-MM-DD"T"HH24:MI:SS.FF3') dt
  2    FROM (SELECT XMLTYPE(bfilename('D', 'tmp.xml'), 
                            nls_charset_id('UTF8')) xml_data
  3            FROM dual),
  4         XMLTable('for $i in /badges/row
  5                              return $i'
  6                  passing xml_data
  7                  columns UserId NUMBER path '@UserId',
  8                          Name VARCHAR2(50) path '@Name',
  9                          dt VARCHAR2(25) path '@Date');

    USERID NAME       DT                         
---------- ---------- ---------------------------
      3718 Teacher    2008-09-15 08:55:03.923    
       994 Teacher    2008-09-15 08:55:03.957    


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menyampaikan argumen ke skrip PL/SQL pada baris perintah dengan SQLPLUS?

  2. Mengapa klausa Oracle IN memiliki batas 1000 hanya untuk data statis?

  3. Fungsi PENGGUNA di Oracle

  4. Bagaimana cara menyegarkan tampilan yang terwujud di oracle

  5. Pemetaan NHibernate untuk tipe data Oracle INTERVAL DAY TO SECOND