Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disciplina: LINGUAGEM PROCEDURAL DE BANCO DE DADOS AV Aluno: 202001 Professor: JEAN CARLOS DE ABREU Turma: 9001 CCT0868_AV_20200 (AG) 12/10/2021 15:33:52 (F) Avaliação: 9,0 Nota Partic.: Nota SIA: 10,0 pts LINGUAGEM PROCEDURAL DE BANCO DE DADOS 1. Ref.: 5196274 Pontos: 1,00 / 1,00 Considere as seguintes afirmações, relativas à estrutura básica de um bloco PL: I. A seção DECLARE é opcional e é utilizada para a declaração de variáveis, cursores, tipos e subprogramas, e outros elementos utilizados no programa. II. O conteúdo entre BEGIN e END é uma seção obrigatória onde ficam as instruções procedimentais. Esta seção deve conter pelo menos uma linha de código executável, que pode ser apenas o comando NULL para indicar que nada deve ser executado. III. A seção EXCEPTION é opcional e é onde ficam as instruções de tratamento de erro. Quais estão corretas? Apenas I e III. Apenas III Apenas I. I, II e III. Apenas II. 2. Ref.: 5196324 Pontos: 1,00 / 1,00 Autoria: ÓRGÃO: TJ-AP PROVA: ANALISTA JUDICIÁRIO - BANCO DE DADOS - DBA Objetivo: Identificar os principais tipos de dados utilizados em LP. Na linguagem LP, deseja-se especificar um atributo numérico com 5 dígitos no total, sendo 2 desses dígitos após a vírgula. A forma para representar tal atributo é: NUMBER (5, 2, 3). NUMBER (5, 2). NUMBER (2, 3). NUMBER (3, 2) NUMBER (5, 3, 2). 3. Ref.: 5190762 Pontos: 1,00 / 1,00 Autoria: ÓRGÃO: TRT - 9ª REGIÃO (PR) PROVA: ANALISTA JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO Objetivo: Definir estruturas condicionais simples e compostas em LP. javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%205196274.'); javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%205196324.'); javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%205190762.'); A linguagem PL/SQL, utilizada no gerenciador de banco de dados ORACLE, possui o conjunto de comandos SQL e acrescenta recursos de programação utilizados em outras linguagens de programação. Considere a seguinte subrotina PL/SQL: CREATE OR REPLACE PROCEDURE decisao (a IN REAL, b inreal) is x real; BEGIN x:=a+b; IF (x>10) THEN DBMS_OUTPUT.put_line(x); ELSE DBMS_OUTPUT.put_line('Valor inferior ao limite'); END IF; END; / Tendo sido esta rotina implementada no Oracle Database 10g Express Edition no Windows, já executada a linha de comandos SQL que dá acesso ao banco de dados, é correto afirmar que A stored procedure decisão recebe 2 parâmetros reais e apresenta apenas o resultado da adição dos valores cuja soma seja maior ou igual a 10. O resultado de EXEC decisao (5.5, 6.5); é 12.0. Não existe ELSE no comando de decisão IF; o certo seria usar ELSEIF. O resultado de EXEC decisão (5.5, 4.5); é 10.0. O comando de decisão IF utilizado na stored procedure apresenta erros de sintaxe. 4. Ref.: 5193418 Pontos: 1,00 / 1,00 As instruções de manipulação de dados INSERT e DELETE (excluindo-se a forma CURRENT) não necessitam de cursores. Para a afirmação acima, podemos concluir que: Essa afirmação estará correta apenas em casos em que o cursor não for declarado. Essa afirmação está incorreta. Essa afirmação está correta. Essa afirmação não se aplica a cursores. Essa afirmação estará correta em caso de o cursor ser fechado. 5. Ref.: 5193416 Pontos: 1,00 / 1,00 Analise o procedimento armazenado a seguir e responda: CREATE OR REPLACE PROCEDURE REAJUSTE (indice IN varchar) LANGUAGE 'plpgsql' javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%205193418.'); javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%205193416.'); AS $BODY$ BEGIN UPDATE public.tabpagamento SET parcela = parcela * indice; END $BODY$; O procedimento será criado e, ao ser executado, apresentará erro de tipo numérico. O procedimento não será criado. O procedimento será criado e poderá ser executado via comando CALL sem erro. O procedimento será criado e, ao ser executado, o valor da parcela será atualizado. O procedimento será parcialmente criado. 6. Ref.: 5196303 Pontos: 1,00 / 1,00 Analise o procedimento armazenado a seguir e responda: CREATE OR REPLACE PROCEDURE REAJUSTE (indice IN varchar) LANGUAGE 'plpgsql' AS $BODY$ BEGIN UPDATE public.tabpagamento SET parcela = parcela * indice; END $BODY$; O procedimento será parcialmente criado. O procedimento será criado e, ao ser executado, o valor da parcela será atualizado. O procedimento será criado e, ao ser executado, apresentará erro de tipo numérico. O procedimento será criado e poderá ser executado por meio do comando CALL sem erro. O procedimento não será criado. 7. Ref.: 5196298 Pontos: 1,00 / 1,00 Nos Sistemas Gerenciadores de Bancos de Dados (SGBD), existe um determinado objeto que pode ser disparado automaticamente toda vez que uma operação DML, de inserção, atualização ou exclusão é executada. Esse objeto é denominado: Trigger. Update. View. Procedure. Cursor. 8. Ref.: 5196286 Pontos: 1,00 / 1,00 Em uma empresa usuária de banco de dados PostgreSQL, foi criada uma function para cálculo do imposto de INSS no programa de geração da folha de pagamento dos empregados. Nessa situação, se, na geração da folha de pagamento, o banco de dados retornar um erro da function do tipo program error, retornando o erro iniciado por 2F, essa ocorrência será devida ao fato de a function: javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%205196303.'); javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%205196298.'); javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%205196286.'); Não ter os dados do imposto. Não possuir os cálculos. Não possuir a instrução retorno. Não tratar os erros. Calcular e gravar os dados. 9. Ref.: 5190707 Pontos: 1,00 / 1,00 Considere as afirmações a seguir sobre a estrutura de um bloco PL/SQL: I - A seção declarativa é uma seção opcional e deve ser utilizada somente quando variáveis, cursores, exceções e/ou tipos construídos forem requeridos na resolução do problema. II - A seção executável é obrigatória na construção de um bloco e compreende o conjunto de instruções para a resolução do problema do bloco que será construído. III - A seção de tratamento de exceções é opcional e deve ser utilizada somente quando houver necessidade de tratamento de erros que podem ocorrer durante a execução do bloco. Quais estão corretas? Apenas II e III. Apenas III. I, II e III. Apenas II. Apenas I. 10. Ref.: 5193399 Pontos: 0,00 / 1,00 Órgão: TJ-MS Prova: Técnico de Nível Superior - Analista de Banco de Dados Dada uma estrutura de variáveis do tipo tabela, conforme feito a seguir, no SQL Server 2012, com os dados de amostra fornecidos: CREATE PROCEDURE STOCK AS DECLARE @StockTransactions TABLE ([StockSymbol] VARCHAR(10), [TransactionDate] DATE, [StockPrice] MONEY ) BEGIN INSERT INTO @StockTransactions ([StockSymbol],[TransactionDate],[StockPrice]) VALUES ('ESQLH','2017/06/03',150.00), ('SSQLS','2017/06/02',107.50), ('SSQLS','2017/06/03',112.20) SELECT ... END EXECUTE dbo.STOCK Ao implementar o SELECT ... na procedure STOCK, assinale a alternativa que indica qual delas gerará este resultado: javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%205190707.'); javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%205193399.'); SELECT [StockSymbol], [TransactionDate], [StockPrice], LAG([StockPrice], 0, NULL) OVER (GROUP BY [StockSymbol] ORDER BY [TransactionDate] ASC) AS [PreviousPrice] FROM @StockTransactions ORDER BY [StockSymbol], [TransactionDate]. SELECT [StockSymbol], [TransactionDate], [StockPrice], LAG([StockPrice]) OVER (ORDER BY [TransactionDate] ASC) AS [PreviousPrice]FROM @StockTransactions GROUP BY [StockSymbol] ORDER BY [StockSymbol], [TransactionDate]. SELECT [StockSymbol], [TransactionDate], [StockPrice], LAG([StockPrice]) OVER (GROUP BY [StockSymbol] ORDER BY [TransactionDate] ASC) AS [PreviousPrice] FROM @StockTransactions ORDER BY [StockSymbol], [TransactionDate]. SELECT [StockSymbol], [TransactionDate], [StockPrice], LAG([StockPrice]) OVER (PARTITION BY [StockSymbol] ORDER BY [TransactionDate] ASC) AS [PreviousPrice] FROM @StockTransactions ORDER BY [StockSymbol], [TransactionDate]. SELECT [StockSymbol], [TransactionDate], [StockPrice], LAG([StockPrice], 0, NULL) OVER (PARTITION BY [StockSymbol] ORDER BY [TransactionDate] ASC) AS [PreviousPrice] FROM @StockTransactions ORDER BY [StockSymbol], [TransactionDate].
Compartilhar