Questão de Banco de Dados — PL/SQL e Outras Extensões SQL — FCC 2026
Banco de Dados›PL/SQL e Outras Extensões SQL
Código
fc142361
Banca
FCC
Órgão
MPE SE
Ano
2026
Cargo
Ana ( )
Atenção: A tabela Processos deve ser utilizada para resolver a questão seguinte.
A tabela Processos armazena informações sobre processos judiciais e possui os campos id, classe (trabalhista, penal etc), status (ativo, inativo, encerrado etc) e valor (custas associadas).
É necessário automatizar o registro de novos processos na tabela Processos, garantindo que apenas processos com valores acima de 10.000 sejam armazenados com o status Ativo. Para isso, a equipe de TI criou o procedureRegistrarProcesso mostrado abaixo.
CREATE PROCEDURE RegistrarProcesso @classe NVARCHAR(50), @status NVARCHAR(20), @valor DECIMAL(12,2) AS BEGIN IF @valor > 10000 I END;
Em condições ideais, para que o procedure registre corretamente um processo na tabela Processos, a lacuna I deve ser corretamente preenchida com:
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
SQL: comando INSERT em procedures
Gabarito: letra C. Para registrar um novo processo na tabela, a lacuna deve conter o comando INSERT INTO Processos (classe, status, valor) VALUES (@classe, @status, @valor), que é a sintaxe padrão do SQL para inserir uma linha em uma tabela, usando os parâmetros do procedure como valores. As demais alternativas usam palavras-chave inexistentes ou sintaxe incorreta.
O comando INSERT é a instrução da sublinguagem DML (Data Manipulation Language) do SQL responsável por adicionar novas linhas a uma tabela. Sua sintaxe básica é INSERT INTO nome_tabela (coluna1, coluna2, ...) VALUES (valor1, valor2, ...), onde a lista de colunas é opcional (se omitida, assume-se a ordem das colunas da tabela) e a lista de valores deve corresponder em quantidade e tipo às colunas especificadas. No contexto de um procedure, os valores podem ser parâmetros passados na chamada, como @classe, @status e @valor.
A questão exige que apenas processos com valor acima de 10.000 sejam armazenados com status 'Ativo'. O procedure RegistrarProcesso recebe os parâmetros e, dentro do IF @valor > 10000, deve executar o INSERT para gravar o registro. A condição IF garante que o comando só será executado quando o valor for maior que 10.000, atendendo ao requisito de negócio.
As alternativas incorretas apresentam comandos que não existem na linguagem SQL padrão. ADD ROW TO, EXEC INSERT, RUN INSERT, SAVE INTO são tentativas de criar uma sintaxe que não é reconhecida pelos SGBDs relacionais. O comando correto é sempre INSERT INTO ... VALUES .... A banca explora exatamente essa confusão: o candidato que não domina a sintaxe básica do SQL pode ser induzido a escolher uma alternativa com aparência plausível, mas que não funciona.
Guarde a sintaxe canônica do INSERT: é ela que separa a alternativa correta das demais. Vejamos cada uma.
Alternativa A — ❌ Incorreta
ADD ROW TO Processos não é um comando SQL válido. A palavra-chave ADD é usada em ALTER TABLE para adicionar colunas, não linhas. A sintaxe correta para inserir uma linha é INSERT INTO.
Alternativa B — ❌ Incorreta
EXEC INSERT INTO mistura o comando EXEC (usado para executar procedures) com INSERT INTO, o que não é uma sintaxe válida. O INSERT é um comando autônomo e não deve ser precedido por EXEC.
Alternativa C — ✅ Correta ⟵ GABARITO
INSERT INTO Processos (classe, status, valor) VALUES (@classe, @status, @valor) é a sintaxe correta do comando DML para inserir uma nova linha na tabela Processos, especificando as colunas e os valores vindos dos parâmetros do procedure.
Alternativa D — ❌ Incorreta
RUN INSERT não é uma sintaxe SQL válida. A palavra-chave RUN não faz parte do comando de inserção. O correto é apenas INSERT INTO.
Alternativa E — ❌ Incorreta
SAVE INTO não é um comando SQL válido. A palavra-chave SAVE é usada em outros contextos (como SAVEPOINT em transações), mas não para inserir dados. O comando correto é INSERT INTO.
NÃO CAIA NESSA!
A banca cria alternativas com palavras-chave que parecem plausíveis (ADD ROW, EXEC INSERT, RUN INSERT, SAVE INTO), mas que não existem na sintaxe SQL. O candidato que não domina o comando INSERT pode ser tentado a escolher uma delas. A dica é: decore a sintaxe canônica INSERT INTO tabela (colunas) VALUES (valores) e elimine qualquer alternativa que fuja dela.