PARAMETERS view
TheINFORMATION_SCHEMA.PARAMETERS view contains one row for each parameter ofeach routine in a dataset.
Required permissions
To query theINFORMATION_SCHEMA.PARAMETERS view, you need the followingIdentity and Access Management (IAM) permissions:
bigquery.routines.getbigquery.routines.list
Each of the following predefined IAM roles includes thepermissions that you need to get routine metadata:
roles/bigquery.adminroles/bigquery.metadataViewerroles/bigquery.dataViewer
For more information about BigQuery permissions, seeAccess control with IAM.
Schema
When you query theINFORMATION_SCHEMA.PARAMETERS view, the query resultscontain one row for each parameter of each routine in a dataset.
TheINFORMATION_SCHEMA.PARAMETERS view has the following schema:
| Column name | Data type | Value |
|---|---|---|
specific_catalog | STRING | The name of the project that contains the dataset in which the routine containing the parameter is defined |
specific_schema | STRING | The name of the dataset that contains the routine in which the parameter is defined |
specific_name | STRING | The name of the routine in which the parameter is defined |
ordinal_position | STRING | The 1-based position of the parameter, or 0 for the return value |
parameter_mode | STRING | The mode of the parameter, eitherIN,OUT,INOUT, orNULL |
is_result | STRING | Whether the parameter is the result of the function, eitherYES orNO |
parameter_name | STRING | The name of the parameter |
data_type | STRING | The type of the parameter, will beANY TYPE if defined as an any type |
parameter_default | STRING | The default value of the parameter as a SQL literal value, alwaysNULL |
is_aggregate | STRING | Whether this is an aggregate parameter, alwaysNULL |
For stability, we recommend that you explicitly list columns in your information schema queries instead ofusing a wildcard (SELECT *). Explicitly listing columns prevents queries frombreaking if the underlying schema changes.
Scope and syntax
Queries against this view must include a dataset or a region qualifier. For moreinformation seeSyntax.The following table explains the region and resource scopes for this view:
| View name | Resource scope | Region scope |
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.PARAMETERS | Project level | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.PARAMETERS | Dataset level | Dataset location |
- Optional:
PROJECT_ID: the ID of your Google Cloud project. If not specified, the default project is used. REGION: anydataset region name. For example,`region-us`.DATASET_ID: the ID of your dataset. For more information, seeDataset qualifier.Note: You must usea region qualifier to query
INFORMATION_SCHEMAviews. The location of the query execution must match the region of theINFORMATION_SCHEMAview.
Example
-- Returns metadata for parameters of a routine in a single dataset.SELECT*FROMmyDataset.INFORMATION_SCHEMA.PARAMETERS;-- Returns metadata for parameters of a routine in a region.SELECT*FROMregion-us.INFORMATION_SCHEMA.PARAMETERS;Example
Example
To run the query against a dataset in a project other than your default project,add the project ID in the following format:
`PROJECT_ID`.`DATASET_ID`.INFORMATION_SCHEMA.PARAMETERS
PROJECT_ID: the ID of the project.DATASET_ID: the ID of the dataset.
For example,example-project.mydataset.INFORMATION_SCHEMA.JOBS_BY_PROJECT.
The following example retrieves all parameters from theINFORMATION_SCHEMA.PARAMETERS view. The metadata returned is for routines inmydataset in your default project —myproject.
SELECT*EXCEPT(is_typed)FROMmydataset.INFORMATION_SCHEMA.PARAMETERSWHEREtable_type='BASE TABLE';
INFORMATION_SCHEMA view names are case-sensitive.The result is similar to the following:
+-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+| 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 |+-------------------+------------------+---------------+------------------+----------------+-----------+----------------+-----------+-------------------+--------------+
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-12-15 UTC.