Referensi variabel sistem
BigQuery mendukung variabel sistem berikut untuk kueri multi-pernyataan atau dalam sesi. Anda dapat menggunakan variabel sistem untuk menetapkan atau mengambil informasi selama kueri dijalankan, mirip dengan variabel bahasa prosedur yang ditentukan pengguna.
Nama | Jenis | Baca dan tulis atau hanya baca | Deskripsi |
---|---|---|---|
@@current_job_id |
STRING |
Hanya baca | ID Tugas dari tugas yang sedang dijalankan. Dalam konteks kueri multi-pernyataan, tugas ini menampilkan tugas yang bertanggung jawab atas pernyataan saat ini, bukan seluruh kueri multi-pernyataan. |
@@dataset_id |
STRING |
Baca dan tulis |
ID set data default dalam project saat ini. ID ini digunakan saat set data tidak ditentukan untuk project dalam kueri. Anda dapat menggunakan pernyataan SET untuk menetapkan @@dataset_id ke ID set data lain dalam project saat ini. Variabel sistem
@@dataset_project_id dan @@dataset_id dapat
ditetapkan dan digunakan bersama.
|
@@dataset_project_id |
STRING |
Baca dan tulis |
ID project default yang digunakan jika ID project tidak ditentukan untuk set data yang digunakan dalam kueri. Jika @@dataset_project_id tidak
ditetapkan, atau jika ditetapkan ke NULL , project yang menjalankan kueri
(@@project_id ) akan digunakan. Anda dapat menggunakan pernyataan SET untuk menetapkan @@dataset_project_id ke project ID lain. Variabel sistem @@dataset_project_id dan
@@dataset_id dapat ditetapkan dan digunakan bersama-sama.
|
@@last_job_id |
STRING |
Hanya baca |
ID Tugas dari tugas terbaru yang akan dijalankan dalam kueri multi-pernyataan saat ini, tidak termasuk yang dijalankan saat ini. Jika kueri multi-pernyataan berisi pernyataan CALL , tugas ini mungkin berasal dari prosedur yang berbeda.
|
@@project_id |
STRING |
Hanya baca |
ID project yang digunakan untuk menjalankan kueri saat ini. Dalam konteks prosedur, @@project_id merujuk pada project yang menjalankan kueri multi-pernyataan, bukan project yang memiliki prosedur tersebut.
|
@@query_label |
STRING |
Baca dan tulis |
Label kueri yang akan dikaitkan dengan tugas kueri di sesi atau kueri multi-pernyataan saat ini. Jika ditetapkan dalam kueri, semua tugas kueri berikutnya dalam skrip atau sesi akan memiliki label ini.
Jika tidak ditetapkan dalam kueri, nilai untuk variabel sistem ini adalah
NULL . Untuk contoh cara menetapkan variabel sistem ini,
lihat
Mengaitkan tugas dalam sesi dengan label.
|
@@row_count |
INT64 |
Hanya baca |
Jika digunakan dalam kueri multi-pernyataan dan pernyataan sebelumnya adalah DML, menentukan jumlah baris yang dimodifikasi, disisipkan, atau dihapus, sebagai hasil dari pernyataan DML tersebut. Jika pernyataan sebelumnya adalah
pernyataan MERGE, @@row_count mewakili gabungan
jumlah total baris yang disisipkan, dibersihkan, dan dihapus. Nilai ini adalah
NULL jika tidak berada dalam kueri multi-pernyataan.
|
@@script.bytes_billed |
INT64 |
Hanya baca |
Total byte yang ditagih sejauh ini dalam tugas kueri multi-pernyataan yang saat ini dijalankan. Nilai ini adalah NULL jika tidak ada dalam tugas.
|
@@script.bytes_processed |
INT64 |
Hanya baca |
Total byte yang diproses sejauh ini dalam tugas kueri multi-pernyataan yang sedang dijalankan. Nilai ini adalah NULL jika tidak ada dalam tugas.
|
@@script.creation_time |
TIMESTAMP |
Hanya baca |
Waktu pembuatan tugas kueri multi-pernyataan yang sedang dijalankan.
Nilai ini adalah NULL jika tidak ada dalam tugas.
|
@@script.job_id |
STRING |
Hanya baca |
ID tugas dari tugas kueri multi-pernyataan yang sedang dijalankan. Nilai ini adalah
NULL jika tidak ada dalam tugas.
|
@@script.num_child_jobs |
INT64 |
Hanya baca |
Jumlah tugas turunan yang saat ini diselesaikan. Nilai ini adalah
NULL jika tidak ada dalam tugas.
|
@@script.slot_ms |
INT64 |
Hanya baca |
Jumlah slot milidetik yang digunakan sejauh ini oleh skrip.
Nilai ini adalah NULL jika tidak ada dalam tugas.
|
@@session_id |
INT64 |
Hanya baca | ID sesi yang terkait dengan kueri saat ini. |
@@time_zone |
STRING |
Baca dan tulis |
Zona waktu default untuk digunakan dalam fungsi SQL yang bergantung pada zona waktu, jika zona waktu tidak ditentukan sebagai argumen.
@@time_zone dapat diubah menggunakan
pernyataan SET untuk nama zona waktu yang valid.
Di awal setiap skrip, @@time_zone dimulai sebagai “UTC”.
|
Untuk kompatibilitas mundur, ekspresi yang digunakan dalam klausa OPTIONS
atau
FOR SYSTEM TIME AS OF
ditetapkan secara default ke zona waktu America/Los_Angeles
,
sedangkan semua ekspresi tanggal/waktu lainnya ditetapkan secara default ke zona waktu UTC
. Jika @@time_zone
telah ditetapkan dalam kueri multi-pernyataan, zona waktu yang dipilih akan diterapkan ke semua ekspresi tanggal/waktu, termasuk klausa OPTIONS
dan FOR SYSTEM TIME AS OF
.
Selain variabel sistem yang ditampilkan di atas, Anda dapat menggunakan variabel sistem EXCEPTION
selama menjalankan kueri multi-pernyataan. Untuk informasi selengkapnya
tentang variabel sistem EXCEPTION
, lihat pernyataan bahasa prosedur
BEGIN...EXCEPTION.
Untuk contoh cara menggunakan variabel sistem dalam kueri multi-pernyataan, lihat Menetapkan variabel.
Untuk contoh cara menggunakan variabel sistem dalam sesi, lihat Sesi contoh.