SóProvas


ID
157036
Banca
CESPE / CEBRASPE
Órgão
TRT - 5ª Região (BA)
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Com relação a qualidade de software, bancos de dados e suas tecnologias, julgue os itens de 37 a 42.

No ORACLE, um trigger é um bloco PL/SQL armazenado e associado a uma tabela, esquema ou banco de dados que pode ser criado com o comando CREATE TRIGGER.

Alternativas
Comentários
  •  Triggers são construções especiais do PL/SQL similares a procedures. Contudo, um procedure é executado explicitamente de um outro bloco via uma chamada de procedimento, enquanto um trigger é executado implicitamente sempre que um evento engatilhado acontece(evento relacionado com uma tabela). A estrutura do trigger é definida como segue:

    CREATE [OR REPLACE] TRIGGER <trigger_name>

        {BEFORE|AFTER} {INSERT|DELETE|UPDATE} ON <table_name>

        [FOR EACH ROW [WHEN (<trigger_condition>)]]

        <trigger_body>

    Sendo que:

    - só pode criar triggers BEFORE e AFTER para tabelas
    - só podem ser especificado até três eventos engatilhados: INSERT OR DELETE OR UPDATE ON...
    - Se FOR EACH ROW for especificado, o trigger é row-level; do contrário, o trigger será statement-level
    - <trigger_body> é um bloco PL/SQL
    - As variáveis especiais NEW e OLD estão disponíveis para fazerem referência às tuplas nova e velha respectivamente

     

    [1] http://www.fundao.wiki.br/articles.asp?cod=31

  • Uma trigger realmente pode estar associada a um esquema ou associada a um banco de dados?
  • Também fiquei com a dúvida de gustavo: "Uma trigger realmente pode estar associada a um esquema ou associada a um banco de dados?". Alguém comenta?

  • A trigger is a named program unit that is stored in the database and fired (executed) in response to a specified event. The specified event is associated with either a table, a view, a schema, or the database, and it is one of the following:

    A database manipulation (DML) statement (DELETE, INSERT, or UPDATE) 
    A database definition (DDL) statement (CREATE, ALTER, or DROP) 
    A database operation (SERVERERROR, LOGON, LOGOFF, STARTUP, or SHUTDOWN) 

    The trigger is said to be defined on the table, view, schema, or database.

    Fonte: https://docs.oracle.com/cd/B28359_01/appdev.111/b28370/triggers.htm