Tampilan VIEWS
Tampilan INFORMATION_SCHEMA.VIEWS
berisi metadata tentang tampilan.
Izin yang diperlukan
Untuk mendapatkan metadata tampilan, Anda memerlukan izin Identity and Access Management (IAM) berikut:
bigquery.tables.get
bigquery.tables.list
Setiap peran IAM bawaan berikut akan menyertakan izin yang Anda perlukan untuk mendapatkan metadata tampilan:
roles/bigquery.admin
roles/bigquery.dataEditor
roles/bigquery.metadataViewer
roles/bigquery.dataViewer
Untuk mengetahui informasi selengkapnya tentang izin BigQuery, lihat Kontrol akses dengan IAM.
Skema
Saat Anda membuat kueri tampilan INFORMATION_SCHEMA.VIEWS
, hasil kueri akan berisi
satu baris untuk setiap tampilan dalam set data.
Tampilan INFORMATION_SCHEMA.VIEWS
memiliki skema berikut:
Nama kolom | Jenis data | Nilai |
---|---|---|
TABLE_CATALOG |
STRING |
Nama project yang berisi set data |
TABLE_SCHEMA |
STRING |
Nama set data yang berisi tampilan juga disebut sebagai
set data id |
TABLE_NAME |
STRING |
Nama tampilan juga disebut sebagai tabel id |
VIEW_DEFINITION |
STRING |
Kueri SQL yang menentukan tampilan |
CHECK_OPTION |
STRING |
Nilai yang ditampilkan selalu NULL |
USE_STANDARD_SQL |
STRING |
YES jika tampilan dibuat dengan menggunakan
kueri GoogleSQL; NO jika useLegacySql
ditetapkan ke true |
Cakupan dan sintaksis
Kueri terhadap tabel virtual ini harus menyertakan set data atau penentu region. Untuk kueri dengan penentu set data, Anda harus memiliki izin untuk set data. Untuk kueri dengan penentu region, Anda harus memiliki izin untuk project. Untuk informasi selengkapnya, lihat Sintaksis. Tabel berikut menjelaskan cakupan region dan resource untuk tabel virtual ini:
Nama tabel virtual | Cakupan resource | Cakupan region |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.VIEWS |
Level project | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.VIEWS |
Level set data | Lokasi set data |
Opsional: PROJECT_ID
: ID project Google Cloud Anda. Jika tidak ditentukan, project default akan digunakan.
REGION
: nama region set data apa pun. Misalnya,`region-us`
.DATASET_ID
: ID set data Anda. Untuk mengetahui informasi selengkapnya, lihat Penentu set data.
Contoh:
-- Returns metadata for views in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.VIEWS;
-- Returns metadata for all views in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.VIEWS;
Contoh
Contoh 1:
Contoh berikut mengambil semua kolom dari tampilan INFORMATION_SCHEMA.VIEWS
kecuali untuk check_option
yang dicadangkan untuk penggunaan pada masa mendatang. Metadata
yang ditampilkan adalah untuk semua tampilan di mydataset
dalam project default Anda —
myproject
.
Untuk menjalankan kueri terhadap project selain project default Anda, tambahkan
project ID ke set data dalam format berikut:
`project_id`.dataset.INFORMATION_SCHEMA.view
;
misalnya, `myproject`.mydataset.INFORMATION_SCHEMA.VIEWS
.
SELECT * EXCEPT (check_option) FROM mydataset.INFORMATION_SCHEMA.VIEWS;
Hasilnya mirip dengan berikut ini:
+----------------+---------------+---------------+---------------------------------------------------------------------+------------------+ | table_catalog | table_schema | table_name | view_definition | use_standard_sql | +----------------+---------------+---------------+---------------------------------------------------------------------+------------------+ | myproject | mydataset | myview | SELECT column1, column2 FROM [myproject:mydataset.mytable] LIMIT 10 | NO | +----------------+---------------+---------------+---------------------------------------------------------------------+------------------+
Perhatikan bahwa hasil menunjukkan bahwa tampilan ini dibuat menggunakan kueri legacy SQL.
Contoh 2:
Contoh berikut mengambil kueri SQL dan sintaksis kueri yang digunakan untuk menentukan
myview
dalam mydataset
di project default Anda — myproject
.
Untuk menjalankan kueri terhadap project selain project default Anda, tambahkan
project ID ke set data dalam format berikut:
`project_id`.dataset.INFORMATION_SCHEMA.view
;
misalnya, `myproject`.mydataset.INFORMATION_SCHEMA.VIEWS
.
SELECT table_name, view_definition, use_standard_sql FROM mydataset.INFORMATION_SCHEMA.VIEWS WHERE table_name = 'myview';
Hasilnya mirip dengan berikut ini:
+---------------+---------------------------------------------------------------+------------------+
| table_name | view_definition | use_standard_sql |
+---------------+---------------------------------------------------------------+------------------+
| myview | SELECT column1, column2, column3 FROM mydataset.mytable
| YES |
+---------------+---------------------------------------------------------------+------------------+
Perhatikan bahwa hasil menunjukkan bahwa tampilan ini dibuat dengan menggunakan kueri GoogleSQL.