35.66. views #

A visão views contém todas as visões definidas no banco de dados corrente. Somente são mostradas as visões às quais o usuário corrente tem acesso (por ser o dono, ou por ter algum privilégio).

Tabela 35.64. Colunas de views

Coluna Tipo de dados

Descrição

table_catalog sql_identifier

Nome do banco de dados que contém a visão (sempre o banco de dados corrente)

table_schema sql_identifier

Nome do esquema que contém a visão

table_name sql_identifier

Nome da visão

view_definition character_data

Expressão de consulta que define a visão (nula se a visão não pertencer à função de banco de dados ativa no momento

check_option character_data

CASCADED ou LOCAL se a visão tiver CHECK OPTION definida nela, NONE caso contrário

is_updatable yes_or_no

YES se a visão for atualizável (permitir UPDATE e DELETE), NO caso contrário

is_insertable_into yes_or_no

YES se a visão for inserível (permitir INSERT), NO caso contrário

is_trigger_updatable yes_or_no

YES se a visão tiver um gatilho INSTEAD OF UPDATE definido nela, NO caso contrário

is_trigger_deletable yes_or_no

YES se a visão tiver um gatilho INSTEAD OF DELETE definido nela, NO caso contrário

is_trigger_insertable_into yes_or_no

YES se a visão tiver um gatilho INSTEAD OF INSERT definido nela, NO caso contrário


Exemplo 35.61. Exemplo do tradutor

Visões

Uso do esquema de informações para mostrar todas as visões definidas no banco de dados ana da usuária ana que a tabela se encontra no esquema public.

SELECT *
FROM information_schema.views
WHERE table_schema='public'\gx

-[ RECORD 1 ]--------------+-------------------------------------------------------
table_catalog              | ana
table_schema               | public
table_name                 | vis_pessoa_imc_normal
view_definition            |  SELECT nome,                                         +
                           |     altura_cm,                                        +
                           |     peso_kg,                                          +
                           |     imc                                               +
                           |    FROM pessoa_tipada                                 +
                           |   WHERE ((imc >= 18.5) AND (imc <= 24.99));
check_option               | NONE
is_updatable               | YES
is_insertable_into         | YES
is_trigger_updatable       | NO
is_trigger_deletable       | NO
is_trigger_insertable_into | NO
-[ RECORD 2 ]--------------+-------------------------------------------------------
table_catalog              | ana
table_schema               | public
table_name                 | vis_pessoa_imc_asc
view_definition            |  SELECT nome,                                         +
                           |     altura_cm,                                        +
                           |     peso_kg,                                          +
                           |     imc,                                              +
                           |     asc_mosteller(peso_kg, altura_cm) AS asc_mosteller+
                           |    FROM pessoa_tipada;
check_option               | NONE
is_updatable               | YES
is_insertable_into         | YES
is_trigger_updatable       | NO
is_trigger_deletable       | NO
is_trigger_insertable_into | NO