Pular para o conteúdo principal

Questão de Banco de Dados — SQL — VUNESP 2023

Banco de DadosSQL
Código
vu078971
Banca
VUNESP
Órgão
TCM-SP
Ano
2023
Nível
Fundamental
Cargo
Auxiliar Técnico de Controle Externo - Técnico de Informática
O comando do Transact-SQL para criar um stored procedure, denominado Eight, passando o parâmetro Seven, para executar uma operação de seleção é:
  1. ACREATE PROC @Eight #Seven ASSELECT ...;
  2. BCREATE PROC &Eight $Seven ASSELECT ...;
  3. CCREATE PROC Seven.Eight ASSELECT ...;
  4. DCREATE PROC #Seven OF Eight ASSELECT ...;
  5. ECREATE PROC Eight @Seven ASSELECT ...;
Revelar gabarito e comentário

GabaritoE — CREATE PROC Eight @Seven AS SELECT ...;

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”.

Sintaxe de Stored Procedure no Transact-SQL

Gabarito: letra E. No Transact-SQL (T-SQL), a criação de uma stored procedure exige que o nome do procedimento venha logo após CREATE PROC, e cada parâmetro deve ser prefixado com o símbolo @. A alternativa E atende exatamente a essa regra: CREATE PROC Eight @Seven AS....

A banca testa o conhecimento da sintaxe básica de criação de procedimentos armazenados no SQL Server. A fonte do material de apoio explica que "um nome de parâmetro é especificado usando o sinal (@) como o primeiro caractere" e apresenta a estrutura geral: CREATE [OR ALTER] {PROC|PROCEDURE} [schema_name.] procedure_name... @parameter_name data_type....

Alternativa A — ❌ Incorreta

Usa @Eight como nome do procedimento e #Seven como parâmetro. O símbolo # é utilizado para procedimentos temporários locais (prefixo do nome, não do parâmetro). Além disso, o nome do procedimento não deve vir com @.

Alternativa B — ❌ Incorreta

Utiliza &Eight e $Seven. Os símbolos & e $ não fazem parte da sintaxe de criação de procedures no T-SQL; o correto é @ para o parâmetro e nenhum prefixo especial para o nome do procedimento.

Alternativa C — ❌ Incorreta

Escreve Seven.Eight, que seria interpretado como schema.procedure_name. Isso criaria uma procedure chamada Eight no schema Seven, mas não há definição de parâmetro. A questão exige um parâmetro chamado Seven, que não aparece.

Alternativa D — ❌ Incorreta

Traz #Seven OF Eight. O # no início do parâmetro não é válido; parâmetros devem começar com @. Além disso, a sintaxe OF não existe nesse contexto.

Alternativa E — ✅ Correta ⟵ GABARITO

CREATE PROC Eight @Seven AS... respeita a sintaxe correta: nome da procedure (Eight) seguido do parâmetro (@Seven). O @ é obrigatório antes de cada parâmetro.

NÃO CAIA NESSA!

Candidatos podem confundir o símbolo de parâmetro (@) com outros usados em diferentes contextos, como # (temporary table/procedure) ou & (variáveis em outras linguagens). Lembre-se: no T-SQL, parâmetros de procedures sempre começam com @.

Gabarito: letra E

Link permanente: /questoes/vu078971