SóProvas


ID
2541949
Banca
FGV
Órgão
MPE-BA
Ano
2017
Provas
Disciplina
Banco de Dados
Assuntos

Comandos de manipulação de dados localizados no interior de triggers no SQL Server podem fazer uso de duas tabelas especiais denominadas inserted e deleted.


Considere as seguintes afirmativas sobre essas tabelas.


I. A tabela inserted contém cópias dos registros sendo inseridos (operação insert) na tabela objeto do trigger.

II. A tabela inserted contém cópias dos registros sendo alterados (operação update) na tabela objeto do trigger.

III. A tabela deleted contém cópias dos registros sendo alterados (operação update) na tabela objeto do trigger.

IV. A tabela deleted contém cópias dos registros sendo removidos (operação delete) na tabela objeto do trigger.


O número de alternativas corretas é:

Alternativas
Comentários
  • As instruções de gatilho DML usam duas tabelas especiais: a tabela excluída e as tabelas inseridas. SQL Server cria e gerencia automaticamente essas tabelas. É possível usar essas tabelas temporárias, residentes na memória, para testar os efeitos de algumas modificações de dados e para definir critérios para ações de gatilhos DML. Você não pode modificar diretamente os dados nas tabelas nem executar operações DDL (linguagem de definição de dados) nas tabelas, como CREATE INDEX.

     

    Nos gatilhos DML, as tabelas inseridas e excluídas são usadas principalmente para executar o seguinte:

    Estender a integridade referencial entre as tabelas.

    Inserir ou atualizar dados nas tabelas adjacentes da exibição.

    Testar quanto a erros e aplicar as ações com base no erro.

    Identificar a diferença entre o estado de uma tabela antes e depois da modificação dos dados e executar ações com base nessa diferença.

     

    A tabela excluída (Deleted) armazena cópias das linhas afetadas durante as instruções DELETE e UPDATE. Durante a execução da instrução DELETE ou UPDATE, as linhas são excluídas da tabela de gatilhos e transferidas para a tabela excluída. A tabela excluída e a tabela de gatilhos geralmente não têm nenhuma linha em comum.

     

    A tabela inserida (Inserted) armazena cópias das linhas afetadas durante as instruções INSERT e UPDATE. Durante uma transação de inserção ou de atualização, novas linhas são adicionadas à tabela inserida e à tabela de gatilho. As linhas na tabela inserida são cópias das novas linhas na tabela de gatilhos.

     

    https://docs.microsoft.com/pt-br/sql/relational-databases/triggers/use-the-inserted-and-deleted-tables