Questão 79 · Informática: Banco de dados
Assinale a opção correta acerca das variáveis bind em sistemas gerenciadores de bancos de dados relacionais.
- A) Variáveis bind são utilizadas apenas em instruções DDL, como CREATE e ALTER, para parametrizar a criação de objetos no banco de dados.
- B) Variáveis bind são utilizadas exclusivamente dentro de triggers, para armazenar o valor antigo e o novo de uma coluna afetada por uma atualização.
- C) Variáveis bind permitem que comandos SQL sejam escritos com parâmetros genéricos, o que evita a necessidade de se reescrever a instrução sempre que o valor do parâmetro mudar.
- D) O uso de variáveis bind reduz o desempenho das consultas SQL, pois impede que o SGBD reutilize planos de execução previamente gerados.
- E) As variáveis bind substituem valores literais diretamente na string SQL antes de sua execução, realizando a interpolação de valores de forma automática.
Marque a alternativa correta:
Gabarito: C
Gabarito definitivo divulgado pela banca Cebraspe (BANRISUL 2025).
Comentário
Gabarito: C.
Variáveis bind são marcadores de parâmetro (por exemplo :nome ou ?) colocados no lugar de valores literais em uma instrução SQL. A instrução é escrita uma única vez, com parâmetros genéricos, e os valores são informados na execução. Isso evita reescrever o comando a cada mudança de valor, permite ao SGBD reutilizar o plano de execução já gerado e reduz o risco de SQL injection.
- (A) Errada: variáveis bind parametrizam valores em consultas e comandos DML (SELECT, INSERT, UPDATE, DELETE); não são um recurso restrito a DDL como CREATE e ALTER, nos quais em geral nem são aceitas.
- (B) Errada: não são exclusivas de triggers; são usadas em qualquer instrução SQL executada por aplicações. Os valores antigo e novo em triggers são referências à linha afetada (OLD e NEW), conceito diferente.
- (D) Errada: o efeito é o oposto; como o texto da instrução permanece o mesmo, o SGBD reaproveita o plano de execução e o desempenho tende a melhorar.
- (E) Errada: o bind não monta o texto SQL concatenando valores; o texto da instrução continua com os marcadores e os valores são passados separadamente. Substituir literais na string é a interpolação manual, insegura e sem reaproveitamento de plano.
Dica: bind = valor passado separado do texto SQL; interpolar valores na string é o oposto do conceito.
Fundamentos: Conceito de variáveis bind como parâmetros em instruções SQL parametrizadas · Reutilização de planos de execução e prevenção de SQL injection como vantagens
Comentário gerado pela Cravei IA a partir do enunciado e do gabarito definitivo divulgado pela banca, e conferido por uma verificação automática. A IA pode errar: o gabarito oficial sempre prevalece.
Fonte: prova Cebraspe BANRISUL 2025 (Diversos cargos), questão 79, com o gabarito definitivo da banca. Comentário: Equipe Cravei · como fazemos e revisamos.