Informazioni sulle variabili di sistema

BigQuery supporta le seguenti variabili di sistema per le query con più istruzioni o all'interno di sessioni. Puoi utilizzare le variabili di sistema per impostare o recuperare le informazioni durante l'esecuzione della query, in modo simile alle variabili di linguaggio procedurali definite dall'utente.

Nome Tipo Lettura e scrittura o sola lettura Descrizione
@@current_job_id STRING Sola lettura ID del job attualmente in esecuzione. Nel contesto di una query con più istruzioni, viene restituito il job responsabile dell'istruzione attuale, 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 nella query non è specificato un set di dati per un progetto. Puoi utilizzare l'istruzione SET per assegnare @@dataset_id a un altro ID set di dati nel progetto corrente. Le variabili di sistema @@dataset_project_id e @@dataset_id possono essere impostate e utilizzate insieme.
@@dataset_project_id STRING Lettura e scrittura ID del progetto predefinito utilizzato quando non ne è specificato uno per un set di dati utilizzato nella query. Se @@dataset_project_id non è impostato o se è impostato su NULL, viene utilizzato il progetto per l'esecuzione della query (@@project_id). Puoi utilizzare l'istruzione SET per assegnare @@dataset_project_id a un altro ID progetto. Le variabili di sistema @@dataset_project_id e @@dataset_id possono essere impostate e utilizzate insieme.
@@last_job_id STRING Sola lettura ID del job più recente da eseguire nella query con più istruzioni attuale, esclusa quella attuale. Se la query con più istruzioni contiene istruzioni CALL, questo job potrebbe aver avuto origine da una procedura diversa.
@@project_id STRING Sola lettura ID del progetto utilizzato per eseguire la query attuale. Nel contesto di una procedura, @@project_id fa riferimento al progetto che esegue la query con più istruzioni, non al progetto proprietario della procedura.
@@query_label STRING Lettura e scrittura Etichetta di query da associare ai job di query nella query o nella sessione con più istruzioni attuali. Se il criterio viene impostato in una query, tutti i job di query successivi nello script o nella sessione avranno questa etichetta. Se non viene impostata in una query, il valore per questa variabile di sistema è NULL. Per un esempio di come impostare questa variabile di sistema, consulta Associare i job in una sessione a un'etichetta.
@@row_count INT64 Sola lettura Se utilizzata in una query con più istruzioni e l'istruzione precedente è DML, specifica il numero di righe modificate, inserite o eliminate come risultato dell'istruzione DML. Se l'istruzione precedente è un'istruzione MERGE, @@row_count rappresenta il numero totale combinato 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 nel job di query con più istruzioni attualmente in esecuzione. Questo valore è NULL se non è nel job.
@@script.bytes_processed INT64 Sola lettura Byte totali elaborati finora nel job di query con più istruzioni attualmente in esecuzione. Questo valore è NULL se non è nel job.
@@script.creation_time TIMESTAMP Sola lettura Ora di creazione del job di query con più istruzioni attualmente in esecuzione. Se non sei nel job, questo valore è NULL.
@@script.job_id STRING Sola lettura ID job del job di query con più istruzioni attualmente in esecuzione. Questo valore è NULL se non è nel job.
@@script.num_child_jobs INT64 Sola lettura Numero di lavori secondari attualmente completati. Questo valore è NULL se non è nel job.
@@script.slot_ms INT64 Sola lettura Numero di millisecondi di slot utilizzati finora dallo script. Se non sei nel job, questo valore è NULL.
@@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 utilizzare nelle funzioni SQL dipendenti dal fuso orario, quando non viene specificato un fuso orario come argomento. @@time_zone può essere modificato utilizzando un'istruzione SET in 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 utilizzate in una clausola OPTIONS o FOR SYSTEM TIME AS OF utilizzano per impostazione predefinita il fuso orario America/Los_Angeles, mentre tutte le altre espressioni di data/ora utilizzano il fuso orario UTC. Se @@time_zone è stata impostata in precedenza nella query a più istruzioni, il fuso orario scelto verrà applicato a tutte le espressioni di data/ora, incluse le clausole OPTIONS e FOR SYSTEM TIME AS OF.

Oltre alle variabili di sistema mostrate sopra, puoi utilizzare le variabili di sistema EXCEPTION durante l'esecuzione di una query con più istruzioni. Per ulteriori informazioni sulle variabili di sistema EXCEPTION, consulta la dichiarazione del linguaggio procedurale BEGIN...EXCEPTION.

Per esempi su come utilizzare le variabili di sistema nelle query con più istruzioni, consulta Impostare una variabile.

Per esempi su come utilizzare le variabili di sistema nelle sessioni, consulta Sessione di esempio.