Informazioni sulle variabili di sistema
BigQuery supporta le seguenti variabili di sistema query multi-istruzione o all'interno sessioni. Puoi utilizzare le variabili di sistema per impostare o recuperare le informazioni durante la query in esecuzione, in modo simile all'esecuzione variabili di lingua procedurali.
Nome | Tipo | Lettura e scrittura o di sola lettura | Descrizione |
---|---|---|---|
@@current_job_id |
STRING |
Sola lettura | ID del job attualmente in esecuzione. Nel contesto una query a più istruzioni, restituisce il job responsabile l'istruzione corrente, non l'intera query con più istruzioni. |
@@dataset_id |
STRING |
Lettura e scrittura |
ID del set di dati predefinito nel progetto corrente. Questo ID viene utilizzato quando
set di dati non è specificato per un progetto nella query. Puoi utilizzare lo
Istruzione SET per assegnare @@dataset_id a
con un altro ID set di dati nel progetto attuale. Le variabili di sistema
@@dataset_project_id e @@dataset_id possono essere
impostati e utilizzati insieme.
|
@@dataset_project_id |
STRING |
Lettura e scrittura |
ID del progetto predefinito utilizzato quando non ne è specificato uno per un
il set di dati usato nella query. Se @@dataset_project_id non è
o, se è impostato su NULL , il progetto di esecuzione della query
(@@project_id ). Puoi usare SET
per assegnare @@dataset_project_id a un'altra istruzione
dell'ID progetto. Le variabili di sistema @@dataset_project_id e
Puoi impostare e utilizzare @@dataset_id insieme.
|
@@last_job_id |
STRING |
Sola lettura |
ID del job più recente da eseguire nella corrente
a più istruzioni, esclusa quella attuale. Se
query con più istruzioni contiene CALL istruzioni,
questo job potrebbe aver avuto origine in una procedura diversa.
|
@@project_id |
STRING |
Sola lettura |
ID del progetto utilizzato per eseguire la query attuale. Nella
contesto di una procedura, @@project_id si riferisce al progetto
che esegue la query multi-istruzione, non il progetto proprietario della procedura.
|
@@query_label |
STRING |
Lettura e scrittura |
Etichetta query da associare ai job di query nell'attuale
o sessione con più istruzioni. Se impostati in una query, tutti i pod
i job di query nello script o nella sessione avranno questa etichetta.
Se non è impostato in una query, il valore di questa variabile di sistema è
NULL . Per vedere un esempio di come impostare questa variabile di sistema,
vedi
Associare i job di una sessione a un'etichetta.
|
@@row_count |
INT64 |
Sola lettura |
Se utilizzata in una query con più istruzioni e la precedente
è DML, specifica il numero di righe modificate, inserite o
eliminati, come risultato dell'istruzione DML. Se l'istruzione precedente è
un'istruzione MERGE, @@row_count rappresenta la combinazione
numero totale di righe inserite, rimosse ed eliminate. Questo valore è
NULL se non è in una query con più istruzioni.
|
@@script.bytes_billed |
INT64 |
Sola lettura |
Byte totali fatturati finora nella sezione attualmente in esecuzione
un job di query con più istruzioni. Questo valore è NULL
se non è nel lavoro.
|
@@script.bytes_processed |
INT64 |
Sola lettura |
Byte totali elaborati finora nella sezione attualmente in esecuzione
un job di query con più istruzioni. Questo valore è NULL
se non è nel lavoro.
|
@@script.creation_time |
TIMESTAMP |
Sola lettura |
Ora di creazione dell'elemento attualmente in esecuzione
un job di query con più istruzioni.
Questo valore è NULL se non è nel job.
|
@@script.job_id |
STRING |
Sola lettura |
ID job dell'elemento attualmente in esecuzione
un job di query con più istruzioni. Questo valore è
NULL se non è nel job.
|
@@script.num_child_jobs |
INT64 |
Sola lettura |
Numero di job figlio attualmente completati. Questo valore è
NULL se non è nel job.
|
@@script.slot_ms |
INT64 |
Sola lettura |
Numero di millisecondi di slot utilizzati finora dallo script.
Questo valore è NULL se non è nel job.
|
@@session_id |
INT64 |
Sola lettura | ID della sessione a cui è associata la query corrente. |
@@time_zone |
STRING |
Lettura e scrittura |
Il fuso orario predefinito da usare nelle funzioni SQL che dipendono dal fuso orario.
quando un fuso orario non è specificato come argomento.
Il campo @@time_zone può essere modificato da
utilizzando un'istruzione SET a qualsiasi nome di fuso orario valido.
All'inizio di ogni script, @@time_zone inizia come
"UTC".
|
Per la compatibilità con le versioni precedenti, le espressioni usate in un OPTIONS
o
la clausola FOR SYSTEM TIME AS OF
utilizza il fuso orario America/Los_Angeles
per impostazione predefinita,
mentre tutte le altre espressioni di data/ora utilizzano per impostazione predefinita il fuso orario UTC
. Se
@@time_zone
è stato impostato in precedenza nella query con più istruzioni, il parametro
il fuso orario verrà applicato a tutte le espressioni con data/ora, tra cui OPTIONS
e
FOR SYSTEM TIME AS OF
.
Oltre alle variabili di sistema mostrate sopra, puoi utilizzare il sistema EXCEPTION
durante l'esecuzione di una query con più istruzioni. Per ulteriori informazioni
sulle variabili di sistema EXCEPTION
; consulta l'istruzione
INIZIO...ECCEZIONE.
Per esempi di come utilizzare le variabili di sistema nelle query con più istruzioni, consulta Impostare una variabile.
Per esempi di come utilizzare le variabili di sistema nelle sessioni, consulta Sessione di esempio.