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.