

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Atenção:
Algumas das questões seguintes fazem referência a um banco de dados relacional intitulado BOOKS, cujas tabelas e respectivas instâncias são exibidas a seguir. Essas questões referem-se às instâncias mostradas.
AUTOR
AutorID | AutorNome |
1 2 3 | Arthur Conan Doyle Agatha Christie Edgar Allan Poe |
LIVRARIA
LivrariaID | LivrariaNome |
1 2 3 4 | Cultural Travessia Amazonas Kremlin |
LIVRO
LivroID | AutorID | Titulo | NumLivrarias |
1 | 1 | O Cão dos Baskervilles | NULL |
2 | 1 | As Aventuras de Sherlock Holmes | 2 |
3 | 2 | Assassinato no Expresso do Oriente | 2 |
4 | 2 | O Mistério dos Sete Relógios | 3 |
5 | 3 | Assassinatos na Rua Morgue | NULL |
OFERTA
LivrariaID | LivroID | Preco |
1 1 1 1 1 2 2 2 3 3 | 1 2 3 4 5 1 2 4 3 4 | 32 28 45 38 23 56 54 43 35 38 |
A tabela Livro representa livros. Cada livro tem um autor, representado na tabela Autor. A tabela Oferta representa os livros que são ofertados pelas livrarias, estas representadas pela tabela Livraria. NULL significa um campo não preenchido.
AutorID, LivrariaID e LivroID, respectivamente, constituem as chaves primárias das tabelas Autor, Livraria e Livro.
LivrariaID e LivroID constituem a chave primária da tabela Oferta.
No PostGreSQL, a linguagem PL/pgSQL pode ser utilizada para definir procedures que são executadas como triggers, quando várias “special variables” são criadas, no escopo do bloco mais externo, e tornam-se disponíveis para uso no código da procedure.
Nesse contexto, analise as seguintes afirmativas sobre algumas dessas variáveis e o funcionamento de triggers no PostgreSQL:
I. A variável NEW contém um valor booleano que indica se o registro objeto do trigger está sendo incluído (true) ou não (false).
II. A variável NEW contém os campos de um registro que está sendo incluído (insert) ou alterado (update).
III. A variável TG_OP contém uma string que determina o nome da operação que desencadeou o trigger (insert, update, etc.).
IV. Na declaração de um trigger, as opções FOR EACH ROW e FOR EACH STATEMENT são equivalentes, tendo sido mantidas apenas para efeito de compatibilidade com versões anteriores.
Está correto somente o que se afirma em:
I e III;
I, II e III;
II e III;
II e IV;
III e IV.