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.get
  • bigquery.routines.list

Ognuno dei seguenti ruoli IAM predefiniti include le autorizzazioni necessarie per ottenere i metadati della routine:

  • roles/bigquery.admin
  • roles/bigquery.metadataViewer
  • roles/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
Sostituisci quanto segue:
  • (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
Sostituisci quanto segue:

  • 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         |
+-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+