

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

# Perintah FROM (INSERT, REMOVE, atau SET) di Amazon QLDB
<a name="ql-reference.from"></a>

**penting**  
Pemberitahuan akhir dukungan: Pelanggan yang ada akan dapat menggunakan Amazon QLDB hingga akhir dukungan pada 07/31/2025. Untuk detail selengkapnya, lihat [Memigrasi Buku Besar QLDB Amazon ke Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

Di Amazon QLDB, pernyataan yang dimulai dengan `FROM` adalah ekstensi PartiQL yang memungkinkan Anda menyisipkan dan menghapus elemen tertentu dalam dokumen. Anda juga dapat menggunakan pernyataan ini untuk memperbarui elemen yang ada dalam dokumen, mirip dengan [UPDATE](ql-reference.update.md) perintah.

**catatan**  
Untuk mempelajari cara mengontrol akses untuk menjalankan perintah PartiQL ini pada tabel tertentu, lihat. [Memulai dengan mode izin standar di Amazon QLDB](getting-started-standard-mode.md)

**Topics**
+ [Sintaks](#ql-reference.from.syntax)
+ [Parameter](#ql-reference.from.parameters)
+ [Koleksi bersarang](#ql-reference.from.nested-collections)
+ [Nilai yang dikembalikan](#ql-reference.from.return)
+ [Contoh](#ql-reference.from.examples)
+ [Berjalan secara terprogram menggunakan driver](#ql-reference.from.driver)

## Sintaks
<a name="ql-reference.from.syntax"></a>

**DARI-SISIPKAN**

Masukkan elemen baru dalam dokumen yang ada. Untuk menyisipkan dokumen tingkat atas baru ke dalam tabel, Anda harus menggunakan[INSERT](ql-reference.insert.md).

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

**DARI-HAPUS**

Hapus elemen yang ada dalam dokumen, atau hapus seluruh dokumen tingkat atas. Yang terakhir secara semantik sama dengan sintaks tradisional[HAPUS](ql-reference.delete.md).

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

**DARI-SET**

Perbarui satu atau lebih elemen dalam dokumen. Jika elemen tidak ada, itu dimasukkan. Ini secara semantik sama dengan sintaks tradisional[UPDATE](ql-reference.update.md).

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

## Parameter
<a name="ql-reference.from.parameters"></a>

***table\$1name***  
Nama tabel pengguna yang berisi data yang akan dimodifikasi. Pernyataan DHTML hanya didukung dalam [tampilan pengguna](working.userdata.md) default. Setiap pernyataan hanya dapat berjalan pada satu tabel.  
Dalam klausa ini, Anda juga dapat menyertakan satu atau lebih koleksi yang bersarang dalam tabel yang ditentukan. Untuk detail selengkapnya, lihat [Koleksi bersarang](#ql-reference.from.nested-collections).

**SEBAGAI *table\$1alias***  
(Opsional) Alias yang ditentukan pengguna yang berkisar di atas tabel yang akan dimodifikasi. Semua alias tabel yang digunakan dalam`SET`,, `REMOVE``INSERT INTO`, atau `WHERE` klausa harus dinyatakan dalam klausa. `FROM` `AS`Kata kunci adalah opsional.

**OLEH *id\$1alias***  
(Opsional) Alias yang ditentukan pengguna yang mengikat bidang `id` metadata setiap dokumen dalam kumpulan hasil. Alias harus dinyatakan dalam `FROM` klausa menggunakan kata kunci. `BY` Ini berguna ketika Anda ingin memfilter pada [ID dokumen](working.metadata.md) saat menanyakan tampilan pengguna default. Untuk informasi selengkapnya, lihat [Menggunakan klausa BY untuk menanyakan ID dokumen](working.metadata.by-clause.md).

**DIMANA *condition***  
Kriteria seleksi untuk dokumen yang akan dimodifikasi.  
Jika Anda menghilangkan `WHERE` klausa, maka semua dokumen dalam tabel dimodifikasi.

***element***  
Elemen dokumen yang akan dibuat atau dimodifikasi.

***data***  
Nilai baru untuk elemen.

**DI *key\$1name***  
Nama kunci yang akan ditambahkan dalam dokumen yang akan dimodifikasi. Anda harus menentukan yang sesuai `VALUE` bersama dengan nama kunci. Ini diperlukan untuk memasukkan nilai baru posisi `AT` tertentu dalam dokumen.

## Koleksi bersarang
<a name="ql-reference.from.nested-collections"></a>

Meskipun Anda dapat menjalankan pernyataan DMLpada satu tabel saja, Anda dapat menentukan koleksi bersarang dalam dokumen dalam tabel tersebut sebagai sumber tambahan. Setiap alias yang Anda deklarasikan untuk koleksi bersarang dapat digunakan dalam `WHERE` klausa dan,, atau klausa. `SET` `INSERT INTO` `REMOVE`

Misalnya, `FROM` sumber pernyataan berikut mencakup `VehicleRegistration` tabel dan `Owners.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 spesifik dari `SecondaryOwners` daftar yang memiliki a `PersonId` dari `'abc123'` dalam `VehicleRegistration` dokumen yang memiliki a `VIN` of`'1N4AL11D75C109151'`. Ekspresi ini memungkinkan Anda menentukan elemen daftar berdasarkan nilainya daripada indeksnya.

## Nilai yang dikembalikan
<a name="ql-reference.from.return"></a>

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

## Contoh
<a name="ql-reference.from.examples"></a>

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

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

Ubah atau masukkan elemen dan filter pada bidang `id` metadata dokumen yang ditetapkan sistem.

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

Ubah `PersonId` bidang elemen *pertama* dalam `Owners.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* dari `Owners.SecondaryOwners` daftar dalam dokumen dalam `VehicleRegistration` 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 dalam tabel. `Vehicle`

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

Tambahkan `{'PersonId':'abc123'}` sebagai pasangan nama-nilai di `Owners.SecondaryOwners` bidang dokumen dalam tabel. `VehicleRegistration` Perhatikan bahwa `Owners.SecondaryOwners` harus sudah ada dan harus berupa tipe data daftar agar pernyataan ini valid. Jika tidak, kata kunci `AT` diperlukan dalam `INSERT INTO` klausa.

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

Masukkan `{'PersonId':'abc123'}` sebagai elemen *pertama* dalam `Owners.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 ke `Owners.SecondaryOwners` daftar yang ada dalam dokumen.

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

## Berjalan secara terprogram menggunakan driver
<a name="ql-reference.from.driver"></a>

*Untuk mempelajari cara menjalankan pernyataan ini secara terprogram menggunakan driver QLDB, lihat tutorial berikut di Memulai dengan driver:*
+ Jawa: [Tutorial mulai cepat](driver-quickstart-java.md) \$1 [Referensi buku masak](driver-cookbook-java.md)
+ .NET: [Tutorial mulai cepat](driver-quickstart-dotnet.md) \$1 [Referensi buku masak](driver-cookbook-dotnet.md)
+ Pergi: [Tutorial mulai cepat](driver-quickstart-golang.md) \$1 [Referensi buku masak](driver-cookbook-golang.md)
+ Node.js: [Tutorial mulai cepat](driver-quickstart-nodejs.md) \$1 [Referensi buku masak](driver-cookbook-nodejs.md)
+ Python: \$1 [Tutorial mulai cepat](driver-quickstart-python.md) [Referensi buku masak](driver-cookbook-python.md)