Tampilan ROUTINES
Tampilan INFORMATION_SCHEMA.ROUTINES berisi satu baris untuk setiap rutinitas dalam
set data.
Izin yang diperlukan
Untuk membuat kueri tampilan INFORMATION_SCHEMA.ROUTINES, Anda memerlukan izin
Identity and Access Management (IAM) berikut:
bigquery.routines.getbigquery.routines.list
Setiap peran IAM yang telah ditetapkan berikut mencakup izin yang Anda perlukan untuk mendapatkan metadata rutin:
roles/bigquery.adminroles/bigquery.metadataViewerroles/bigquery.dataViewer
Untuk mengetahui informasi selengkapnya tentang izin BigQuery, lihat Kontrol akses dengan IAM.
Skema
Saat Anda membuat kueri tampilan INFORMATION_SCHEMA.ROUTINES, hasil kueri akan berisi
satu baris untuk setiap rutinitas dalam set data.
Tampilan INFORMATION_SCHEMA.ROUTINES memiliki skema berikut:
| Nama kolom | Jenis data | Nilai |
|---|---|---|
specific_catalog |
STRING |
Nama project yang berisi set data untuk menentukan rutinitas. |
specific_schema |
STRING |
Nama set data yang berisi rutinitas |
specific_name |
STRING |
Nama rutinitas |
routine_catalog |
STRING |
Nama project yang berisi set data untuk menentukan rutinitas |
routine_schema |
STRING |
Nama set data yang berisi rutinitas |
routine_name |
STRING |
Nama rutinitas |
routine_type |
STRING |
Jenis rutinitas:
|
data_type |
STRING |
Jenis data yang ditampilkan rutinitas. NULL jika
rutinitas adalah prosedur tersimpan |
routine_body |
STRING |
Cara isi rutinitas ditentukan, SQL atau EXTERNAL jika rutinitas tersebut merupakan fungsi yang ditentukan pengguna JavaScript |
routine_definition |
STRING |
Definisi rutinitas |
external_language |
STRING |
JAVASCRIPT jika rutinitas adalah fungsi JavaScript yang ditentukan pengguna atau NULL jika rutinitas ditentukan dengan SQL |
is_deterministic |
STRING |
YES jika rutinitas diketahui merupakan deterministik,
NO jika tidak, atau NULL jika tidak diketahui |
security_type |
STRING |
Jenis keamanan rutinitas, selalu NULL |
created |
TIMESTAMP |
Waktu pembuatan rutinitas |
last_altered |
TIMESTAMP |
Waktu perubahan terakhir rutinitas |
ddl |
STRING |
Pernyataan DDL
yang dapat digunakan untuk membuat rutinitas, seperti
CREATE FUNCTION
atau CREATE PROCEDURE
|
connection |
STRING |
Nama koneksi, jika rutinitas memilikinya. Jika tidak
NULL |
Untuk stabilitas, sebaiknya cantumkan kolom secara eksplisit dalam kueri skema informasi Anda, bukan menggunakan karakter pengganti (SELECT *). Mencantumkan kolom secara eksplisit akan mencegah kueri rusak jika skema yang mendasarinya berubah.
Cakupan dan sintaksis
Kueri terhadap tampilan ini harus menyertakan set data atau penentu region. 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.ROUTINES |
Level project | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.ROUTINES |
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 routines in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.ROUTINES;
-- Returns metadata for routines in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.ROUTINES;
Contoh
Contoh
Untuk menjalankan kueri terhadap project selain project default Anda, tambahkan project ID ke set data dalam format berikut:
`PROJECT_ID`.INFORMATION_SCHEMA.ROUTINES
`myproject`.INFORMATION_SCHEMA.ROUTINES.
Contoh berikut mengambil semua kolom dari
tampilan INFORMATION_SCHEMA.ROUTINES. Metadata yang ditampilkan adalah untuk semua rutinitas di
mydataset dalam project default Anda — myproject. Set data mydataset
berisi rutinitas bernama myroutine1.
SELECT * FROM mydataset.INFORMATION_SCHEMA.ROUTINES;
Hasilnya mirip dengan berikut ini:
+------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+ | specific_catalog | specific_schema | specific_name | routine_catalog | routine_schema | routine_name | routine_type | data_type | routine_body | routine_definition | external_language | is_deterministic | security_type | created | last_altered | ddl | +------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+ | myproject | mydataset | myroutine1 | myproject | mydataset | myroutine1 | FUNCTION | NULL | SQL | x + 3 | NULL | NULL | NULL | 2019-10-03 17:29:00.235 UTC | 2019-10-03 17:29:00.235 UTC | CREATE FUNCTION myproject.mydataset.myroutine1(x FLOAT64) | | | | | | | | | | | | | | | | | AS ( | | | | | | | | | | | | | | | | | x + 3 | | | | | | | | | | | | | | | | | ); | +------------------+-----------------+---------------+-----------------+----------------+--------------+--------------+-----------+--------------+--------------------+-------------------+------------------+---------------+-----------------------------+-----------------------------+-----------------------------------------------------------+