Visualizzazione PARAMETERS
La visualizzazione INFORMATION_SCHEMA.PARAMETERS contiene una riga per ogni parametro di ogni routine in un set di dati.
Autorizzazioni obbligatorie
Per eseguire query sulla visualizzazione INFORMATION_SCHEMA.PARAMETERS, devi disporre delle seguenti autorizzazioni IAM (Identity and Access Management):
bigquery.routines.getbigquery.routines.list
Ognuno dei seguenti ruoli IAM predefiniti include le autorizzazioni necessarie per ottenere i metadati della routine:
roles/bigquery.adminroles/bigquery.metadataViewerroles/bigquery.dataViewer
Per saperne di più sulle autorizzazioni di BigQuery, consulta Controllo dell'accesso con IAM.
Schema
Quando esegui una query sulla visualizzazione INFORMATION_SCHEMA.PARAMETERS, i risultati della query contengono una riga per ogni parametro di ogni routine in un set di dati.
La visualizzazione INFORMATION_SCHEMA.PARAMETERS ha il seguente schema:
| Nome colonna | Tipo di dati | Valore |
|---|---|---|
specific_catalog |
STRING |
Il nome del progetto che contiene il set di dati in cui è definita la routine contenente il parametro |
specific_schema |
STRING |
Il nome del set di dati che contiene la routine in cui è definito il parametro |
specific_name |
STRING |
Il nome della routine in cui è definito il parametro |
ordinal_position |
INT64 |
La posizione del parametro a base 1 o 0 per il valore restituito |
parameter_mode |
STRING |
La modalità del parametro, IN, OUT,
INOUT, o NULL |
is_result |
STRING |
Indica se il parametro è il risultato della funzione, YES o NO |
parameter_name |
STRING |
Il nome del parametro |
data_type |
STRING |
Il tipo di parametro, sarà ANY TYPE se
definito come tipo any |
parameter_default |
STRING |
Il valore predefinito del parametro come valore letterale SQL,
sempre NULL |
is_aggregate |
STRING |
Indica se si tratta di un parametro di aggregazione, sempre NULL |
Per garantire la stabilità, ti consigliamo di elencare esplicitamente le colonne nelle query dello schema informativo anziché utilizzare un carattere jolly (SELECT *). L'elenco esplicito delle colonne impedisce l'interruzione delle query se lo schema sottostante cambia.
Ambito e sintassi
Le query su questa visualizzazione devono includere un qualificatore di set di dati o di regione. Per saperne di più, vedi Sintassi. La tabella seguente spiega gli ambiti di regione e risorsa per questa visualizzazione:
| Nome vista | Ambito risorsa | Ambito regione |
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.PARAMETERS |
Livello progetto | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.PARAMETERS |
Livello set di dati | Posizione del set di dati |
-
(Facoltativo)
PROJECT_ID: l'ID del tuo Google Cloud progetto. Se non specificato, viene utilizzato il progetto predefinito. -
REGION: il nome di una regione del set di dati. Ad esempio,`region-us`. -
DATASET_ID: l'ID del set di dati. Per saperne di più, vedi Qualificatore del set di dati.
Esempio
-- Returns metadata for parameters of a routine in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.PARAMETERS;
-- Returns metadata for parameters of a routine in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.PARAMETERS;
Esempio
Esempio
Per eseguire la query su un set di dati in un progetto diverso da quello predefinito, aggiungi l'ID progetto nel seguente formato:
`PROJECT_ID`.`DATASET_ID`.INFORMATION_SCHEMA.PARAMETERS
PROJECT_ID: l'ID del progetto.DATASET_ID: l'ID del set di dati.
Ad esempio, example-project.mydataset.INFORMATION_SCHEMA.JOBS_BY_PROJECT.
L'esempio seguente recupera tutti i parametri dalla visualizzazione INFORMATION_SCHEMA.PARAMETERS. I metadati restituiti riguardano le routine in mydataset nel progetto predefinito, myproject.
SELECT * EXCEPT(is_typed) FROM mydataset.INFORMATION_SCHEMA.PARAMETERS WHERE table_type = 'BASE TABLE';
Il risultato è simile al seguente:
+-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+ | specific_catalog | specific_schema | specific_name | ordinal_position | parameter_mode | is_result | parameter_name | data_type | parameter_default | is_aggregate | +-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+ | myproject | mydataset | myroutine1 | 0 | NULL | YES | NULL | INT64 | NULL | NULL | | myproject | mydataset | myroutine1 | 1 | NULL | NO | x | INT64 | NULL | NULL | +-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+