Vista VISUALIZACIONES
La vista INFORMATION_SCHEMA.VIEWS
contiene metadatos sobre las vistas.
Permisos obligatorios
Para obtener los metadatos de una vista, necesitas los siguientes permisos de gestión de identidades y accesos (IAM):
bigquery.tables.get
bigquery.tables.list
Cada uno de los siguientes roles de gestión de identidades y accesos predefinidos incluye los permisos que necesitas para obtener metadatos:
roles/bigquery.admin
roles/bigquery.dataEditor
roles/bigquery.metadataViewer
roles/bigquery.dataViewer
Para obtener más información sobre los permisos de BigQuery, consulta Control de acceso con gestión de identidades y accesos.
Esquema
Cuando consultas la vista INFORMATION_SCHEMA.VIEWS
, los resultados de la consulta contienen una fila por cada vista de un conjunto de datos.
La vista INFORMATION_SCHEMA.VIEWS
tiene el siguiente esquema:
Nombre de la columna | Tipo de datos | Valor |
---|---|---|
TABLE_CATALOG |
STRING |
El nombre del proyecto que contiene el conjunto de datos |
TABLE_SCHEMA |
STRING |
Nombre del conjunto de datos que contiene la vista, también denominado conjunto de datos id |
TABLE_NAME |
STRING |
Nombre de la vista, también denominada tabla id |
VIEW_DEFINITION |
STRING |
La consulta de SQL que define la vista |
CHECK_OPTION |
STRING |
El valor devuelto es siempre NULL . |
USE_STANDARD_SQL |
STRING |
YES si la vista se ha creado mediante una consulta de GoogleSQL; NO si useLegacySql
se ha definido como true |
Ámbito y sintaxis
Las consultas en esta vista deben incluir un conjunto de datos o un calificador de región. En el caso de las consultas con un calificador de conjunto de datos, debes tener permisos para el conjunto de datos. En el caso de las consultas con un calificador de región, debes tener permisos para el proyecto. Para obtener más información, consulta la sección Sintaxis. En la siguiente tabla se explican los ámbitos de región y de recurso de esta vista:
Nombre de la vista | Ámbito de los recursos | Ámbito de la región |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.VIEWS |
Nivel de proyecto | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.VIEWS |
Nivel del conjunto de datos | Ubicación del conjunto de datos |
-
Opcional:
PROJECT_ID
: el ID de tu Google Cloud proyecto. Si no se especifica, se usa el proyecto predeterminado. -
REGION
: cualquier nombre de región del conjunto de datos. Por ejemplo,`region-us`
. -
DATASET_ID
: el ID de tu conjunto de datos. Para obtener más información, consulta Calificador de conjunto de datos.
Por ejemplo:
-- Returns metadata for views in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.VIEWS;
-- Returns metadata for all views in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.VIEWS;
Ejemplos
Ejemplo 1:
En el siguiente ejemplo se recuperan todas las columnas de la vista INFORMATION_SCHEMA.VIEWS
excepto check_option
, que se reserva para uso futuro. Los metadatos devueltos corresponden a todas las vistas de mydataset
de tu proyecto predeterminado: myproject
.
Para ejecutar la consulta en un proyecto que no sea el predeterminado, añade el ID del proyecto al conjunto de datos con el siguiente formato:
`project_id`.dataset.INFORMATION_SCHEMA.view
;
por ejemplo, `myproject`.mydataset.INFORMATION_SCHEMA.VIEWS
.
SELECT * EXCEPT (check_option) FROM mydataset.INFORMATION_SCHEMA.VIEWS;
El resultado es similar al siguiente:
+----------------+---------------+---------------+---------------------------------------------------------------------+------------------+ | table_catalog | table_schema | table_name | view_definition | use_standard_sql | +----------------+---------------+---------------+---------------------------------------------------------------------+------------------+ | myproject | mydataset | myview | SELECT column1, column2 FROM [myproject:mydataset.mytable] LIMIT 10 | NO | +----------------+---------------+---------------+---------------------------------------------------------------------+------------------+
Ten en cuenta que los resultados muestran que esta vista se creó mediante una consulta de SQL antiguo.
Ejemplo 2:
En el siguiente ejemplo se obtiene la consulta SQL y la sintaxis de consulta usadas para definir myview
en mydataset
en tu proyecto predeterminado (myproject
).
Para ejecutar la consulta en un proyecto que no sea el predeterminado, añade el ID del proyecto al conjunto de datos con el siguiente formato:
`project_id`.dataset.INFORMATION_SCHEMA.view
;
por ejemplo, `myproject`.mydataset.INFORMATION_SCHEMA.VIEWS
.
SELECT table_name, view_definition, use_standard_sql FROM mydataset.INFORMATION_SCHEMA.VIEWS WHERE table_name = 'myview';
El resultado es similar al siguiente:
+---------------+---------------------------------------------------------------+------------------+
| table_name | view_definition | use_standard_sql |
+---------------+---------------------------------------------------------------+------------------+
| myview | SELECT column1, column2, column3 FROM mydataset.mytable
| YES |
+---------------+---------------------------------------------------------------+------------------+
Ten en cuenta que los resultados muestran que esta vista se ha creado mediante una consulta de GoogleSQL.