DARI (INSERT, REMOVE, atau SET) perintah di Amazon QLDB - Amazon Quantum Ledger Database (Amazon QLDB)

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

DARI (INSERT, REMOVE, atau SET) perintah di Amazon QLDB

Di Amazon QLDB, pernyataan yang dimulai denganFROM adalah ekstensi PartiQL yang memungkinkan Anda untuk menyisipkan dan menghapus elemen tertentu dalam dokumen. Anda juga dapat menggunakan pernyataan ini untuk memperbarui elemen yang ada dalam dokumen, mirip denganPERBARUI perintah.

catatan

Untuk mempelajari cara mengontrol akses untuk menjalankan perintah PartiQL ini pada tabel tertentu, lihatMemulai dengan mode izin standar di Amazon QLDB.

Sintaksis

DARI-INSERT

Menyisipkan elemen baru dalam dokumen yang ada. Untuk memasukkan dokumen tingkat atas baru ke dalam tabel, Anda harus menggunakanSISIPKAN.

FROM table_name [ AS table_alias ] [ BY id_alias ] [ WHERE condition ] INSERT INTO element VALUE data [ AT key_name ]

DARI-HAPUS

Menghapus elemen yang ada dalam dokumen, atau menghapus seluruh dokumen tingkat atas. Yang terakhir ini semantik sama denganHAPUS sintaks tradisional.

FROM table_name [ AS table_alias ] [ BY id_alias ] [ WHERE condition ] REMOVE element

DARI-SET

Memperbarui satu atau lebih elemen dalam dokumen. Jika elemen tidak ada, ini dimasukkan. Ini semantik sama denganPERBARUI sintaks tradisional.

FROM table_name [ AS table_alias ] [ BY id_alias ] [ WHERE condition ] SET element = data [, element = data, ... ]

Parameter

nama meja

Nama tabel pengguna yang berisi data yang akan diubah. Pernyataan DMLhanya didukung dalam tampilan pengguna default. Setiap pernyataan hanya dapat berjalan pada satu meja.

Dalam klausa ini, Anda juga dapat menyertakan satu atau lebih koleksi yang bersarang dalam tabel tertentu. Untuk rincian lebih lanjut, lihat Koleksi Nest.

SEBAGAI table_alias

(Opsional) Alias yang ditentukan pengguna yang berkisar di atas tabel yang akan dimodifikasi. Semua alias tabel yang digunakan dalamSET,,REMOVEINSERT INTO, atauWHERE klausa harus dinyatakan dalamFROM klausa. ASKata kunci adalah opsional.

OLEH id_alias

(Opsional) Alias yang ditentukan pengguna yang mengikat ke bidangid metadata setiap dokumen dalam kumpulan hasil. Alias harus dinyatakan dalamFROM klausa menggunakanBY kata kunci. Hal ini berguna ketika Anda ingin memfilter pada ID dokumen saat query tampilan pengguna default. Untuk informasi selengkapnya, lihat Menggunakan klausa BY untuk query ID dokumen.

Kondisi WHERE

Kriteria seleksi dokumen yang akan diubah.

catatan

Jika Anda menghapusWHERE klausul, semua dokumen dalam tabel akan diubah.

elemen

Elemen dokumen yang akan dibuat atau diubah.

data

Nilai baru untuk elemen.

DI key_name

Sebuah nama kunci yang akan ditambahkan dalam dokumen yang akan dimodifikasi. Anda harus menentukan yang sesuaiVALUE bersama dengan nama kunci. Hal ini diperlukan untuk memasukkan nilai baru posisiAT tertentu dalam dokumen.

Koleksi Nest

Meskipun Anda dapat menjalankan pernyataan DMLS pada satu meja saja, Anda dapat menentukan koleksi bersarang dalam dokumen dalam tabel itu sebagai sumber tambahan. Setiap alias yang Anda mendeklarasikan untuk koleksi bersarang dapat digunakan dalamWHERE klausa danSET,INSERT INTO, atauREMOVE klausa.

Misalnya,FROM sumber pernyataan berikut mencakupVehicleRegistration tabel danOwners.SecondaryOwners struktur bersarang.

FROM VehicleRegistration r, @r.Owners.SecondaryOwners o WHERE r.VIN = '1N4AL11D75C109151' AND o.PersonId = 'abc123' SET o.PersonId = 'def456'

Contoh ini memperbarui elemen tertentu dariSecondaryOwners daftar yang memilikiPersonId dari'abc123' dalamVehicleRegistration dokumen yang memilikiVIN dari'1N4AL11D75C109151'. Ekspresi ini memungkinkan Anda menentukan elemen daftar dengan nilainya daripada indeksnya.

Nilai kembali

documentId- ID unik dari setiap dokumen yang Anda perbarui atau hapus.

Contoh

Memodifikasi elemen dalam dokumen. Jika elemen tidak ada, ini dimasukkan.

FROM Vehicle AS v WHERE v.VIN = '1N4AL11D75C109151' AND v.Color = 'Silver' SET v.Color = 'Shiny Gray'

Memodifikasi atau menyisipkan elemen dan filter pada bidangid metadata dokumen sistem-ditugaskan.

FROM Vehicle AS v BY v_id WHERE v_id = 'documentId' SET v.Color = 'Shiny Gray'

MemodifikasiPersonId bidang elemen pertama dalamOwners.SecondaryOwners daftar dalam dokumen.

FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151' SET r.Owners.SecondaryOwners[0].PersonId = 'abc123'

Hapus elemen yang ada dalam dokumen.

FROM Person AS p WHERE p.GovId = '111-22-3333' REMOVE p.Address

Hapus seluruh dokumen dari tabel.

FROM Person AS p WHERE p.GovId = '111-22-3333' REMOVE p

Hapus elemen pertama dariOwners.SecondaryOwners daftar dalam dokumen dalamVehicleRegistration tabel.

FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151' REMOVE r.Owners.SecondaryOwners[0]

Masukkan{'Mileage':26500} sebagai pasangan nama-nilai tingkat atas dalam dokumen dalamVehicle tabel.

FROM Vehicle AS v WHERE v.VIN = '1N4AL11D75C109151' INSERT INTO v VALUE 26500 AT 'Mileage'

Tambahkan{'PersonId':'abc123'} sebagai pasangan nama-nilai diOwners.SecondaryOwners bidang dokumen dalamVehicleRegistration tabel. Perhatikan bahwaOwners.SecondaryOwners harus sudah ada dan harus menjadi tipe data daftar untuk pernyataan ini untuk menjadi valid. Jika tidak, kata kunciAT diperlukan dalamINSERT INTO klausa.

FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151' INSERT INTO r.Owners.SecondaryOwners VALUE { 'PersonId' : 'abc123' }

Masukkan{'PersonId':'abc123'} sebagai elemen pertama dalamOwners.SecondaryOwners daftar yang ada dalam dokumen.

FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151' INSERT INTO r.Owners.SecondaryOwners VALUE {'PersonId' : 'abc123'} AT 0

Tambahkan beberapa pasangan nama-nilai keOwners.SecondaryOwners daftar yang ada dalam dokumen.

FROM VehicleRegistration AS r WHERE r.VIN = '1N4AL11D75C109151' INSERT INTO r.Owners.SecondaryOwners << {'PersonId' : 'abc123'}, {'PersonId' : 'def456'} >>

Menjalankan pemrograman menggunakan driver

Untuk mempelajari cara menjalankan pernyataan ini secara terprogram menggunakan driver QLDB, lihat tutorial berikut dalam Memulai driver: