Buscar

prova av2 linguagem procedural

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

1.Dado o trecho abaixo: CREATE OR REPLACE PROCEDURE PROC_01(p_cod IN NUMBER, p_valor_venda IN NUMBER, p_novo_valor OUT NUMBER) AS v_percentual NUMBER; BEGIN SELECT perc_desconto INTO v_percentual FROM desconto WHERE cod_produto = p_cod_prod; p_novo_valor_venda := p_valor_venda - (p_valor_venda * v_percentual); END; Marque a alternativa correta.Requer resposta. Opção única. 
(10 Pontos)
A procedure compila com sucesso e ao ser executada retorna o valor do desconto a ser concedido através da variável p_novo_valor_venda.
A procedure compila com sucesso e ao ser executada retorna o valor do desconto a ser concedido através da variável v_percentual.
A procedure compila com sucesso e ao ser executada retorna o valor do desconto a ser concedido através da variável p_valor_venda.
Ocorrerá um erro na compilação porque uma procedure não pode conter parâmetros do tipo OUT.
Ocorrerá um erro na compilação porque a procedure não possui a clausula return.
2.Considere os itens a seguir: I. Instruções DML (DELETE, INSERT ou UPDATE); II. Instruções DDL (CREATE, ALTER ou DROP); III. Instruções COMMIT e ROLLBACK; IV. Uma operação em banco de dados como LOGON, LOGOFF, STARTUP ou SHUTDOWN. No Oracle, é possível criar triggers que são acionados sempre que ocorre no banco de dados as operações descritas acima APENAS em:Requer resposta. Opção única. 
(10 Pontos)
I e IV.
II e III.
I, II e IV.
II e IV.
I e II.
3.O modelo relacional representa o banco de dados como uma coleção de relações (tabelas). Na terminologia formal do modelo relacional, uma linha é chamada de "tupla", o título da coluna é denominado "atributo" e a tabela é chamada de "relação". O tipo de dado que descreve os tipos de valores que podem aparecer em cada coluna é denominado "domínio". Um banco de dados relacional pode impor vários tipos de restrições nos dados armazenados. ELMASRI, R.; NAVATHE, S. B. Sistema de Banco de Dados Fundamentos e Aplicações. RIO DE Janeiro: LTC, 2002. Restrições de integridade semântica que permitem controlar situações como, por exemplo, "o salário de um empregado não deve exceder do supervisor do empregado" podem ser realizados através de triggers (gatilhos). Sobre isso responda: Triggers precisam ser explicitamente chamadas para que as restrições de integridade semântica sejam obedecidas?Requer resposta. Texto de linha única. 
(10 Pontos)
4.Um dos recursos mais utilizados pelos desenvolvedores em Banco de dados é a Stored Procedure, pois mantém concentrada a lógica necessária para determinadas funções, tendo assim uma maior agilidade no retorno de informações importantes. Sobre a criação de Stored Procedures no PostgreSQL é INCORRETO afirmar que:Requer resposta. Opção única. 
(10 Pontos)
Ao contrário do que acontece em outras bases de dados, as Triggers no Postgres são definidas como FUNCTIONS
Ao contrário do que acontece em outras bases de dados, as Stored Procedures no Postgres são definidas como FUNCTIONS
No PostgreSQL funções podem não possuir um tipo de retorno.
No PostgreSQL varáveis sempre são definidas dentro do bloco DECLARE.
Os tipos de dados para a criação de variáveis são os mesmos entre o Oracle (PL/SQL) e o PostgreSQL (PL/pgSQL).
5.Sobre o estudo de triggers, assinale a alternativa CORRETA.Requer resposta. Opção única. 
(10 Pontos)
A trigger pode ser row-level (do nível de uma linha) ou statement-level (do nível de uma instrução).
Uma trigger será executada implicitamente sempre que um evento engatilhado acontecer.
Um evento engatilhado é sempre um comando de INSERT, DELETE ou UPDATE.
O momento de execução de uma trigger pode ser BEFORE ou AFTER.
Todas as afirmações estão corretas.
6.Procedimentos (store procedures) são grupos de uma ou mais instruções SQL armazenadas no Banco de Dados. Para a aplicação, em que contribui a utilização de procedimentos no banco de dados?Requer resposta. Texto de linha única. 
(10 Pontos)
7.Observe a sintaxe abaixo: CREATE [OR REPLACE] TRIGGER trigger_name {BEFORE | AFTER | INSTEAD OF} {INSERT [OR] | UPDATE [OR] | DELETE} [OF col_name] ON table_name [REFERENCING OLD AS o NEW AS n] [FOR EACH ROW] WHEN (condition) DECLARE declaration-statements BEGIN executable-statements EXCEPTION exception-handling-statements END; Qual das alternativas a seguir é incorreta sobre triggers:Requer resposta. Opção única. 
(10 Pontos)
{INSERT [OR] | UPDATE [OR] | DELETE} - Esta cláusula determina o evento acionador. Mais de um evento acionador pode ser utilizando a palavravra chave OR. O gatilho é acionado em todo o evento de gatilho especificado.
[REFERENCING OLD AS o NEW AS n] - Esta cláusula é usada para referenciar os valores antigos e novos dos dados que estão sendo alterados.
[FOR EACH ROW] - Esta cláusula é usada para determinar se um gatilho deve ser acionado quando cada linha é afetada (ou seja, um gatilho no nível da linha) ou apenas uma vez quando a instrução sql inteira é executada (ou seja, o gatilho no nível da instrução).
WHEN (condition) - Esta cláusula é válida apenas para acionadores a nível de instrução. A trigger é acionada apenas uma vez quando a instrução sql inteira é executada.
[ON table_name] - Esta cláusula identifica o nome da tabela ou view à qual o gatilho está associado.
8.A linguagem PL/pgSQL é semelhante à linguagem PL/SQL em muitos aspectos. Assinale VERDADEIRO ou FALSO para algumas das principais diferenças entre as linguagens PL/SQL e PL/pgSQL. A palavra chave RETURN no protótipo da função (não no corpo da função), no PostgreSQL se torna RETURNS. A palavra chave RETURNS no protótipo da função (não no corpo da função), no PostgreSQL se torna RETURN. É necessário adicionar a cláusula LANGUAGE, porque a linguagem PL/pgSQL não é a única possível no PostgreSQL. No PostgreSQL o corpo da função é considerado como sendo um literal cadeia de caracteres, portanto é necessário utilizar delimitação por aspas duplas em torno do corpo da função. No PostgreSQL o corpo da função é considerado como sendo um literal cadeia de caracteres, portanto é necessário utilizar delimitação por apóstrofos ou cifrão em torno do corpo da função.Requer resposta. Opção única. 
(10 Pontos)
v F V F V
F F V V F
F V F V V
V V F F V
V F V F F
As restriçõ
Stored Procedure pode reduzir o tráfego na rede, melhorar a performance de um banco de dados, criar tarefas agendadas, diminuir riscos, criar rotinas de processsamento, etc.

Continue navegando