

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
Para o controle de insumos em um canteiro de obras, o engenheiro de suprimentos utiliza um banco de dados relacional chamado OBRA, que já está instalado e ativo. Uma das tabelas desse banco, chamada MATERIAIS, já foi criada e está preenchida com três campos: material, categoria e preco. O engenheiro deseja listar o material e o preço de todos os materiais cuja categoria seja AÇO, a fim de analisar os custos dos insumos utilizados na estrutura da obra.
Qual comando SQL ele deve utilizar para obter essa lista?
SELECT categoria, preco FROM MATERIAIS WHERE material = 'AÇO';
SELECT MATERIAIS, preco WHERE categoria = 'AÇO';
SELECT MATERIAIS, preco FROM material WHERE categoria = 'AÇO';
SELECT material, preco FROM MATERIAIS;
SELECT material, preco FROM MATERIAIS WHERE categoria = 'AÇO';
Uma visão (view) é uma tabela virtual baseada no resultado de uma consulta SQL, não armazena dados fisicamente e apresenta informações de uma ou mais tabelas de forma organizada e reutilizável.
Certo
Errado
Em um ambiente corporativo que utiliza simultaneamente Oracle Database e Microsoft SQL Server, a equipe de administração de dados avaliou a migração de rotinas armazenadas entre os dois SGBDs. Durante a análise, foram comparados objetos programáveis, tratamento de exceções, controle transacional e diferenças entre PL/SQL e Transact-SQL. Um dos analistas afirmou que, por ambos os produtos serem SGBDs relacionais compatíveis com SQL, procedures, funções e gatilhos poderiam ser migrados sem reescrita substancial, desde que as tabelas mantivessem os mesmos nomes e tipos equivalentes. Diante do exposto, analise as sentenças a seguir:
I- Rotinas escritas em Oracle PL/SQL podem ser executadas diretamente no Microsoft SQL Server, pois PL/SQL e Transact-SQL são implementações equivalentes do padrão SQL/PSM, diferindo apenas na nomenclatura de comandos de criação de objetos.
PORQUE
II- Oracle Database e Microsoft SQL Server são SGBDs relacionais que suportam objetos programáveis no banco de dados, como procedimentos armazenados, funções, gatilhos e mecanismos de controle transacional, mas possuem dialetos, tipos, funções internas, tratamento de exceções e particularidades semânticas próprias.
Analisadas as sentenças, é CORRETO afirmar que:
As duas sentenças são verdadeiras, e a segunda é uma justificativa correta da primeira.
As duas sentenças são verdadeiras, mas a segunda não é uma justificativa correta da primeira.
A primeira sentença é verdadeira, e a segunda, falsa.
A primeira sentença é falsa, e a segunda, verdadeira.
Considere as tabelas de banco de dados criadas com o código em SQL:

I. A palavra-chave CASCADE diz que, se uma linha da tabela Pedido for excluída, todas as linhas de ItensPedido que se referem a ela também serão excluídas.
Il. A exclusão de um Produto que possui uma linha correspondente em ItensPedido é proibida.
III. Se a cláusula ON UPDATE especificasse CASCADE e a coluna idProduto de uma linha da tabela Produto fosse atualizada, essa atualização também seria executada em cada linha da tabela ItensPedido que se referisse à linha da tabela Produto atualizada.
Está CORRETO o que se afirma em:
Nenhuma das afirmativas.
l e Il, apenas.
Il e Ill, apenas.
l e Ill, apenas.
Todas as afirmativas.
Considere o comando SQL a seguir.

Ao ser executado, esse comando apresentará o resultado seguinte.
![]()
Certo
Errado
Qual é a saída apresentada após executar o seguinte trecho de código escrito em PL/SQL?
SET SERVEROUTPUT ON;
DECLARE
V_NUMERO NUMBER(5,2):= 123.45;
V_STRING VARCHAR2(10);
BEGIN
V_STRING:= TO_CHAR(V_NUMERO, 'FM00000.000');
DBMS_OUTPUT.PUT_LINE(V_STRING);
END;
123.45
123.450
00123.450
FM00123.450
Apresenta erro de sintaxe
Qual comando SQL deve ser utilizado por um analista de TI especializado em bancos de dados para especificar um tipo de ação a ser tomada quando certos eventos ocorrem ou quando certas condições são satisfeitas?
EXECUTE TASK.
DO ACTION.
CREATE TRIGGER.
PERFORM COMMAND.
O retorno do comando apresentado será necessariamente uma lista de todos os itens da tabela Produtos, ordenados pelo campo Preco, do menor valor para o maior valor.
Certo
Errado
A execução do código SQL a seguir retornará 10.

Certo
Errado
Qual é a saída apresentada após executar o seguinte trecho de código escrito em PL/SQL?
SET SERVEROUTPUT ON;
DECLARE
V_DATE1 DATE:= TO_DATE('2025-03-27', 'YYYY-MM-DD');
V_DATE2 DATE:= TO_DATE('2025-07-05', 'YYYY-MM-DD');
V_NUMBER NUMBER(2);
BEGIN
V_NUMBER:= MONTHS_BETWEEN(V_DATE1, V_DATE2);
DBMS_OUTPUT.PUT_LINE(V_NUMBER);
END;
-4
-3
3
4
Apresenta erro de sintaxe
Considerando que 07/02/2025 é uma sexta-feira, qual é a saída apresentada após executar o seguinte trecho de código escrito em PL/SQL?
SET SERVEROUTPUT ON;
DECLARE
V_DATE DATE:= TO_DATE('07-02-2025 00:00:00', 'DD-MM-YYYY HH24:MI:SS');
V_NUMBER NUMBER(2);
BEGIN
V_NUMBER:= TO_CHAR(V_DATE, 'W');
DBMS_OUTPUT.PUT_LINE(V_NUMBER);
END;
1
2
5
6
Apresenta erro de sintaxe
Considere o seguinte trecho de código em PL/SQL:

Ao ser executado em condições ideais, este comando
erra ao calcular o tempo de serviço, pois deveria ter sido usado o EXTRACT (YEAR FROM SYSDATE) - EXTRACT(YEAR FROM data_ admissao), uma vez que EXTRACT já retorna a diferença correta de anos e meses.
erra ao calcular o tempo de serviço, pois deveria ter sido usado DATEDIFF (YEAR, data_admissao, SYSDATE), que retorna diretamente os anos completos.
calcula o tempo de serviço dos funcionários ativos somando diretamente os meses obtidos pela função MONTHS_BETWEEN, sem necessidade de divisão ou modulação.
calcula o tempo de serviço dos funcionários ativos, obtendo a diferença total de meses entre a data atual SYSDATE e data_admissao, convertendo os valores em anos e meses utilizando FLOOR e MOD.
erra ao calcular o tempo de serviço, pois deveria ter sido utilizado apenas ROUND(MONTHS_BETWEEN(SYSDATE, data_admissao) / 12), pois não há necessidade de calcular separadamente os anos e meses.
Assinale a alternativa que apresenta APENAS comandos válidos em SQL/PLSQL:
PRINT, INPUT, GOTO, LOOP.
SELECT, INSERT, UPDATE, DELETE.
STYLE, DIV, HREF, TITLE.
FORWARD, BACK, REFRESH, CLOSE.
Em bancos de dados relacionais, o objeto que agrupa um conjunto de comandos SQL armazenados no servidor, podendo receber parâmetros e ser executado múltiplas vezes, é denominado
View.
Index.
Stored Procedure.
Cursor.
Schema.
PL/SQL é uma extensão da linguagem SQL que integra SGBDs Oracle. O recurso utilizado para manipular o conjunto de resultados de uma instrução SELECT na linguagem PL/SQL, podendo ser implícito ou explícito, é chamado de:
Vetor.
Pacote.
Bloco.
Cursor.
Com relação a linguagens procedurais PL/SQL e T-SQL, marque a alternativa correta.
O PL/SQL ео T-SQL são linguagens procedurais que se baseiam no NoSQL.
São linguagens idênticas de fabricantes (desenvolvedores) diferentes.
O PL/SQL permite o desenvolvimento de procedures e funções, todavia esta funcionalidade não é suportada pelo T-SQL.
PL/SQL é uma linguagem procedural usada no Oracle enquanto o T-SQL é usada no MS-SQL Server.
OT-SQL permite o desenvolvimento de procedures e funções, todavia esta funcionalidade não é suportada pelo PL/SQL.
Um analista de sistemas da Prefeitura Municipal de Nova Iguaçu precisa gerar um relatório de arrecadação fiscal. Para isso, ele escreve a seguinte consulta em PL/SQL para calcular o total de impostos pagos pelos contribuintes:

Ao revisar o código, foram identificados erros conceituais que podem comprometer sua execução. Qual das alternativas contém uma afirmação INCORRETA sobre o código PL/SQL apresentado?
A variável v_total precisa ser declarada antes do bloco BEGIN.
O comando SELECT INTO pode falhar se a consulta retornar múltiplas linhas.
A variável v_total pode armazenar qualquer quantidade de valores retornados pelo SUM().
O pacote DBMS_OUTPUT precisa ser ativado com SET SERVEROUTPUT ON para exibir a saída.
Qual é a saída apresentada após executar o seguinte trecho de código escrito em PL/SQL?
SET SERVEROUTPUT ON;
DECLARE
V_DATE DATE:= TO_DATE('2025/08/01 00:00:00', 'YYYY/DD/MM HH24:MI:SS');
V_NUMBER NUMBER(2);
BEGIN
V_NUMBER:= TO_CHAR(LPAD(EXTRACT(DAY FROM V_DATE), 2, '0'));
DBMS_OUTPUT.PUT_LINE(V_NUMBER);
END;
8
08
80
NULL
Apresenta erro de sintaxe
Em uma instrução, a cláusula WHERE somente pode ser usada para estabelecer critérios para campos referentes a lugar, como Cidade e Endereco.
Certo
Errado
No Oracle, o uso de PL/SQL é ideal para operações avançadas de controle e análise de segurança, pois permite que se criem consultas complexas, que incluem laços de repetição e tratamento de exceções.
Certo
Errado