30.37. triggers

A visão triggers contém todos os gatilhos definidos no banco de dados corrente que pertencem ao usuário corrente (O dono da tabela é o dono do gatilho). [1]

Tabela 30-35. Colunas de triggers

Nome Tipo de dado Descrição
trigger_catalog sql_identifier Nome do banco de dados que contém o gatilho (sempre o banco de dados corrente)
trigger_schema sql_identifier Nome do esquema que contém o gatilho
trigger_name sql_identifier Nome do gatilho
event_manipulation character_data O evento que dispara o gatilho (INSERT, UPDATE ou DELETE)
event_object_catalog sql_identifier Nome do banco de dados que contém a tabela onde o gatilho está definido (sempre o banco de dados corrente)
event_object_schema sql_identifier Nome do esquema que contém a tabela onde o gatilho está definido
event_object_name sql_identifier Nome da tabela onde o gatilho está definido
action_order cardinal_number Ainda não implementado
action_condition character_data Se aplica a uma funcionalidade não disponível no PostgreSQL
action_statement character_data Declaração executada pelo gatilho (atualmente sempre EXECUTE PROCEDURE função(...))
action_orientation character_data Identifica se o gatilho dispara uma vez para cada linha processada ou uma vez para cada declaração (ROW ou STATEMENT)
condition_timing character_data Momento em que o gatilho dispara (BEFORE ou AFTER)
condition_reference_old_table sql_identifier Se aplica a uma funcionalidade não disponível no PostgreSQL
condition_reference_new_table sql_identifier Se aplica a uma funcionalidade não disponível no PostgreSQL

Os gatilhos no PostgreSQL possuem duas incompatibilidades com o padrão SQL que afetam a representação no esquema de informações: Em primeiro lugar, no PostgreSQL os nomes dos gatilhos são locais às tabelas, em vez de objetos independentes no esquema. Portanto, podem haver nomes de gatilhos duplicados definidos em um mesmo esquema, desde que pertençam a tabelas diferentes (trigger_catalog e trigger_schema são, na verdade, valores que pertencem à tabela onde o gatilho está definido); Em segundo lugar, no PostgreSQL os gatilhos podem ser definidos para disparar em vários eventos (por exemplo, ON INSERT OR UPDATE), enquanto o padrão SQL só permite um. Se o gatilho for definido para disparar em vários eventos, isto é representado por várias linhas no esquema de informações, uma para cada tipo de evento. Como conseqüência destas incompatibilidades, a chave primária da visão triggers na verdade é (trigger_catalog, trigger_schema, trigger_name, event_object_name, event_manipulation), em vez de (trigger_catalog, trigger_schema, trigger_name), conforme especificado pelo padrão SQL. Apesar disso, se os gatilhos forem definidos em conformidade com o padrão SQL (nomes de gatilho únicos no esquema e somente um evento por gatilho), estas incompatibilidades não trarão conseqüências.

Notas

[1]

TRIGGERS — visão — Identifica os gatilhos definidos nas tabelas neste catálogo acessíveis por um determinado usuário ou grupo. (ISO-ANSI Working Draft) Information and Definition Schemas (SQL/Schemata), ISO/IEC 9075-11:2003 (E) (N. do T.)

SourceForge.net Logo CSS válido!