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

Sql loader - string enklosur kedua tidak ada

Jika bidang terakhir Anda selalu ada (meskipun trailing nullcols menyarankan tidak) dan Anda memiliki kendali atas pemformatan, Anda dapat menggunakan CONTINUEIF direktif untuk memperlakukan baris kedua sebagai bagian dari catatan logis yang sama.

Jika comments bidang selalu ada dan diapit dalam tanda kutip ganda maka Anda dapat melakukan:

...
truncate
continueif last != x'22'
into table ...

Yang akan menangani catatan data seperti:

S;Y;"Test 1"
F;N;"Test 2"
P;Y;"Test with
new line"
P;N;""

Atau jika Anda selalu memiliki pembatas setelah kolom komentar, apakah diisi atau tidak:

...
truncate
continueif last != ';'
into table ...

Yang akan menangani:

S;Y;Test 1;
F;N;"Test 2";
P;Y;Test with
new line;
P;N;;

Kedua cara akan memuat data sebagai:

S M COMMENTS
- - ------------------------------
S Y Test 1
F N Test 2
P Y Test withnew line
P N

Tapi ini kehilangan baris baru dari data. Untuk menjaganya, Anda memerlukan pembatas bidang pengakhiran untuk hadir, dan alih-alih CONTINUEIF Anda dapat mengubah pemisah rekaman menggunakan format rekaman streaming :

...
infile 'C:\Users\lab.csv' "str ';\n'"
truncate
into table ...

"str ';\n'" mendefinisikan terminator sebagai kombinasi terminator bidang dan karakter baris baru. Komentar terpisah Anda hanya memiliki kombinasi itu di baris terakhir. Dengan file data yang sama dengan versi sebelumnya, ini memberikan:

S M COMMENTS
- - ------------------------------
S Y Test 1
F N Test 2
P Y Test with
    new line

P N

4 rows selected.

Karena Anda menggunakan Windows, Anda mungkin harus menyertakan \r dalam format juga, mis. "str ';\r\n'" , tapi saya tidak bisa memeriksanya.



  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 menghitung rata-rata kolom dan kemudian memasukkannya ke dalam kueri pemilihan di Oracle?

  2. SQL untuk menghapus duplikat dalam tabel

  3. ORACLE dan TRIGGERS (dimasukkan, diperbarui, dihapus)

  4. Menghubungkan ke database Oracle 10g melalui R

  5. Cara menyinkronkan metode Java yang dipanggil oleh PL/SQL