Langsung ke konten

Konversi JSON ke Oracle

Letakkan file JSON Anda untuk mendapatkan skrip Oracle dengan pernyataan CREATE TABLE dan INSERT. Setiap kolom diberi tipe, dan setiap perbaikan dicantumkan beserta baris dan kolomnya.

File Anda
jsonpedidos_2024.jsonFile contoh, 771 B
Database Anda

4 baris dikonversi, 2 perbaikan, tidak ada yang ditolak

Tampilkan
Baris pertama pedidos_2024.json, dengan setiap perbaikan ditandai
Baris
2000481Peña Muñoz2024-02-03T10:15:00Z1234.5true
3000482José Ángel Ruiz2024-02-15T16:40:00Z99.9falseEntrega en la tarde
4000483Zoë Ortíz2024-02-29T09:05:00Z12true
5000484Ñuño Castañeda2024-03-11T13:30:00Z980.75síFactura con "RFC"
-- Written by IntoSQL for Oracle.

SET DEFINE OFF

CREATE TABLE pedidos_2024 (
    pedido VARCHAR2(8 CHAR) NOT NULL,
    cliente VARCHAR2(16 CHAR) NOT NULL,
    fecha TIMESTAMP WITH TIME ZONE NOT NULL,
    total NUMBER(6,2) NOT NULL,
    pagado NUMBER(1) NOT NULL,
    notas VARCHAR2(32 CHAR)
);

INSERT ALL
    INTO pedidos_2024 (pedido, cliente, fecha, total, pagado, notas) VALUES ('000481', 'Peña Muñoz', TIMESTAMP '2024-02-03 10:15:00 +00:00', 1234.5, 1, NULL)
    INTO pedidos_2024 (pedido, cliente, fecha, total, pagado, notas) VALUES ('000482', 'José Ángel Ruiz', TIMESTAMP '2024-02-15 16:40:00 +00:00', 99.9, 0, 'Entrega en la tarde')
    INTO pedidos_2024 (pedido, cliente, fecha, total, pagado, notas) VALUES ('000483', 'Zoë Ortíz', TIMESTAMP '2024-02-29 09:05:00 +00:00', 12, 1, NULL)
    INTO pedidos_2024 (pedido, cliente, fecha, total, pagado, notas) VALUES ('000484', 'Ñuño Castañeda', TIMESTAMP '2024-03-11 13:30:00 +00:00', 980.75, 1, 'Factura con "RFC"')
SELECT 1 FROM DUAL;

COMMIT;

Perbaikan

  1. Nol di depan dipertahankan di "pedido": 000481 tetap 000481, disimpan sebagai teks.
  2. "pagado" berisi kata ya dan tidak (sí), disimpan sebagai boolean.

File Anda dikonversi di komputer ini dan tidak pernah diunggah.

Contoh lain:

Dari JSON ke Oracle, kolom demi kolom

Contoh di atas, pedidos_2024.json, seperti yang ditulis IntoSQL untuk Oracle: isi setiap kolom di file, tipe yang didapatnya, dan bagaimana nilai pertamanya ditulis di skrip.

Di fileNilai pertamaKolomTipe OracleDi skrip
pedido000481pedidoVARCHAR2(8 CHAR)'000481'
clientePeña MuñozclienteVARCHAR2(16 CHAR)'Peña Muñoz'
fecha2024-02-03T10:15:00ZfechaTIMESTAMP WITH TIME ZONETIMESTAMP '2024-02-03 10:15:00 +00:00'
total1234.5totalNUMBER(6,2)1234.5
pagadotruepagadoNUMBER(1)1
notas-notasVARCHAR2(32 CHAR)NULL

Muat skrip ke Oracle

Hasil unduhan adalah file .sql biasa. Jalankan dengan alat bawaan Oracle.

Dari terminal

sqlplus user@//localhost/mydb @pedidos_2024.oracle.sql

Skrip mematikan variabel substitusi (SET DEFINE OFF), jadi tanda & di data Anda tetap menjadi &.

Dari alat database

Di SQL Developer, buka skrip lalu pilih Run Script (F5).

Yang perlu diketahui tentang file JSON dan Oracle

Yang dibaca IntoSQL di file JSON

  • File dapat berupa array objek, objek yang menyimpan array tersebut di bawah kunci seperti data, atau satu objek per baris (NDJSON).
  • Setiap kunci menjadi kolom. Objek dan array di dalam nilai disimpan sebagai teks JSON.
  • Angka mempertahankan digit persisnya, dan tanggal ISO 8601 menjadi tanggal atau timestamp.

Yang perlu diketahui tentang Oracle

  • Nilai ya dan tidak menjadi NUMBER(1) yang berisi 1 atau 0, yang diterima semua versi Oracle.
  • Teks menjadi VARCHAR2 dengan panjang dalam karakter; di atas 4000 byte menjadi CLOB. Oracle menyimpan teks kosong sebagai NULL.
  • Baris disisipkan dengan INSERT ALL, dan nilai panjang dipecah agar SQL*Plus menerimanya.

Cara setiap jenis nilai disimpan di Oracle

NilaiOracle
Ya dan tidakNUMBER(1)
Bilangan bulatNUMBER(10)
Bilangan bulat besarNUMBER(19)
DesimalNUMBER(p,s)
Bilangan floating-pointBINARY_DOUBLE
TanggalDATE
JamINTERVAL DAY(0) TO SECOND
Tanggal dengan jamTIMESTAMP
Tanggal dengan jam dan selisih waktuTIMESTAMP WITH TIME ZONE
TeksVARCHAR2(n CHAR)CLOB

Pertanyaan tentang JSON ke Oracle

Tidak terjawab di sini? Tulis ke kami dari halaman kontak, dan seseorang akan membalas. Halaman kontak

Bagaimana cara mengonversi JSON ke Oracle?

Letakkan file Anda di konverter di bagian atas halaman ini. Konverter menemukan baris judul, membaca setiap nilai, dan menulis skrip Oracle, dengan mencantumkan setiap perbaikan yang dibuat. Unduh skripnya dan jalankan dengan SQL*Plus.

Seperti apa bentuk file JSON yang dibutuhkan?

Array objek, objek yang menyimpan array tersebut di bawah kunci seperti data, atau satu objek per baris (NDJSON). Setiap kunci menjadi kolom.

Tipe Oracle apa saja yang digunakan?

Nilai ya dan tidak menjadi NUMBER(1), bilangan bulat NUMBER(10), desimal NUMBER(p,s), tanggal DATE, tanggal dengan waktu TIMESTAMP, dan teks VARCHAR2(n CHAR). Ukuran diambil dari nilai terpanjang di setiap kolom.

Apakah nol di depan tetap ada di Oracle?

Ya. Kode seperti 000481 tetap berupa teks, jadi Oracle menyimpannya sebagai VARCHAR2(8 CHAR) dan skrip menuliskannya sebagai '000481'.

Bisakah data dimuat ke Oracle tanpa skrip?

Tidak. Unduh skripnya dan jalankan dengan SQL*Plus. Pemuatan tanpa skrip tersedia untuk PostgreSQL, MySQL, MariaDB, dan SQLite, dari aplikasi desktop atau command line.

Seberapa besar file JSON yang bisa dipakai?

NDJSON, satu objek per baris, dibaca sambil dialirkan, jadi file berukuran beberapa gigabyte bisa diproses di browser. Dokumen JSON dibaca utuh, jadi batasnya adalah memori yang diberikan browser untuk halaman ini. Aplikasi desktop dan command line menerima file dengan ukuran berapa pun.