FC ConcursosFC Concursos

Questão FC369520

No contexto de stored procedures no SQL Server, considere o script a seguir. CREATE PROCEDURE TESTE @X int =2 AS SELECT * FROM fibo WHERE N = @X Levando em conta essa definição, an

Linguagem SQL

FGV · 2024

No contexto de stored procedures no SQL Server, considere o script a seguir.

 

CREATE PROCEDURE TESTE @X int =2
AS
SELECT * FROM fibo WHERE N = @X

 

Levando em conta essa definição, analise a lista de cinco sugestões de comandos que poderiam acionar a execução da procedure TESTE.


1.
EXEC TESTE @X = 1
2.
TESTE
3.
EXEC TESTE 2
4.
TESTE 1
5.
CALL TESTE 2

 

Sobre esses comandos, é correto concluir que são válidos:

  1. todos os cinco;
  2. somente 1, 2, 3 e 4;
  3. somente 2, 4 e 5;
  4. somente 2, 3 e 5;
  5. somente 1, 3 e 4.
Mostrar resposta e comentário

Gabarito

B

Comentário do professor

As chamadas listadas são válidas porque seguem as formas reconhecidas pelo SQL Server para executar uma stored procedure.

EXEC pode ser usado explicitamente; por isso EXEC TESTE @X = 1 é válido: é uma chamada com parâmetro nomeado.

Quando a procedure é a primeira instrução no lote, o SQL Server permite omitir EXEC. Assim, TESTE executa a procedure usando o valor padrão do parâmetro (@X = 2).

No caso de único parâmetro, admite-se passagem posicional: EXEC TESTE 2 fornece @X=2 sem nomeá‑lo.

Igualmente, sem EXEC e como primeira instrução, é possível passar o valor posicionalmente: TESTE 1 chama a procedure com @X = 1.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo