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
Ganti kode berikut:

  • 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 ID project 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 serupa 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 ID project 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 serupa 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.