Tampilan TABLE_CONSTRAINTS
Tampilan TABLE_CONSTRAINTS
berisi hubungan kunci utama dan kunci asing dalam set data BigQuery.
Izin yang diperlukan
Anda memerlukan izin Identity and Access Management (IAM) berikut:
bigquery.tables.get
untuk melihat definisi kunci utama dan asing.bigquery.tables.list
untuk melihat skema informasi tabel.
Setiap peran yang telah ditetapkan berikut memiliki izin yang diperlukan untuk menjalankan alur kerja yang dijelaskan dalam dokumen ini:
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.admin
Untuk mengetahui informasi lebih lanjut tentang peran dan izin IAM di BigQuery, baca Peran dan izin yang telah ditetapkan.
Skema
Tampilan INFORMATION_SCHEMA.TABLE_CONSTRAINTS
memiliki skema berikut:
Nama Kolom | Jenis | Arti |
---|---|---|
|
|
Nama project batasan. |
|
|
Nama set data batasan. |
|
|
Nama batasan. |
|
|
Nama project tabel yang dibatasi. |
|
|
Nama set data tabel yang dibatasi. |
|
|
Nama tabel yang dibatasi. |
|
|
PRIMARY KEY atau FOREIGN KEY |
|
|
YES atau NO bergantung pada apakah batasan dapat ditangguhkan. Hanya NO yang didukung. |
|
|
Hanya NO yang didukung. |
|
|
YES atau NO bergantung pada apakah batasan diterapkan. Hanya NO yang didukung. |
Cakupan dan sintaksis
Kueri terhadap tampilan ini harus menyertakan penentu set data. Untuk kueri dengan penentu set data, Anda harus memiliki izin untuk set data. Untuk mengetahui informasi selengkapnya, lihat Sintaksis. Tabel berikut menampilkan cakupan region dan resource untuk tampilan ini:
Nama tampilan | Cakupan resource | Cakupan region |
---|---|---|
[PROJECT_ID.]DATASET.INFORMATION_SCHEMA.TABLE_CONSTRAINTS; |
Level set data | Lokasi set data |
Opsional: PROJECT_ID
: ID project Google Cloud Anda. Jika tidak ditentukan, project default akan digunakan.
Contoh
Kueri berikut menunjukkan batasan untuk satu tabel dalam set data:
SELECT * FROM PROJECT_ID.DATASET.INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE table_name = TABLE;
Ganti kode berikut:
PROJECT_ID
: Opsional. Nama project cloud Anda. Jika tidak ditentukan, perintah ini akan menggunakan project default.DATASET
: Nama set data Anda.TABLE
: Nama tabel.
Sebaliknya, kueri berikut menampilkan batasan untuk semua tabel dalam satu set data.
SELECT * FROM PROJECT_ID.DATASET.INFORMATION_SCHEMA.TABLE_CONSTRAINTS;
Dengan batasan yang ada, hasil kuerinya mirip dengan berikut ini:
+-----+---------------------+-------------------+-----------------------+---------------------+--------------+------------+-----------------+---------------+--------------------+----------+ | Row | constraint_catalog | constraint_schema | constraint_name | table_catalog | table_schema | table_name | constraint_type | is_deferrable | initially_deferred | enforced | +-----+---------------------+-------------------+-----------------------+---------------------+--------------+------------+-----------------+---------------+--------------------+----------+ | 1 | myConstraintCatalog | myDataset | orders.pk$ | myConstraintCatalog | myDataset | orders | PRIMARY KEY | NO | NO | NO | | 2 | myConstraintCatalog | myDataset | orders.order_customer | myConstraintCatalog | myDataset | orders | FOREIGN KEY | NO | NO | NO | +-----+---------------------+-------------------+-----------------------+---------------------+--------------+------------+-----------------+---------------+--------------------+----------+
Jika tabel atau set data tidak memiliki batasan, hasil kueri akan terlihat seperti ini:
+-----------------------------+ | There is no data to display | +-----------------------------+