Considere as tabelas T1 e T2, exibidas abaixo com suas respectivas instâncias.
T1
A
B
1
1
2
2
4
2
T2
A
B
1
10
2
20
Analise o script de uma stored procedure no âmbito do SQL Server.
CREATE PROCEDURE TESTE
@CPF varchar(11),
@Produdo varchar(12)
AS
SELECT count(*) Contagem
FROM VENDA
WHERE CPF = @CPF
AND CodProdudo = @Produdo;
Nesse contexto, considere as três hipóteses de comandos que invocam o procedimento armazenado TESTE.
I.
EXECUTE TESTE '99999999900', '1000999';
II.
EXEC TESTE @CPF = '99999999900',
@Produdo = '1000999';
III.
EXECUTE TESTE @CPF = '99999999900' and
@Produdo = '1000999';
Está correto o que se apresenta em:
somente I;
somente I e II;
somente I e III;
somente II e III;
I, II e III.
Para invocar corretamente uma stored procedure no SQL Server, pode-se usar o comando EXEC ou EXECUTE, seguido pelo nome da procedure e os parâmetros necessários. Os parâmetros podem ser passados diretamente na ordem em que são declarados na procedure ou nomeados explicitamente. O comando III está incorreto porque usa 'and' entre os parâmetros, o que não é sintaxe válida no SQL Server.
Relembre que os parâmetros em uma stored procedure podem ser passados por posição ou nomeados explicitamente.
Verifique a sintaxe do SQL Server para a passagem de parâmetros nomeados em procedimentos armazenados, e note os conectores que são permitidos ou não.
Considere se 'and' é um conector válido para separar parâmetros em uma chamada de procedimento armazenado.
Usar conectores lógicos como 'and' entre os parâmetros ao invocar uma stored procedure.
Confundir a passagem de parâmetros por posição com a passagem de parâmetros nomeados.
Em SQL Server, uma stored procedure pode ser invocada usando os comandos EXEC ou EXECUTE, seguidos pelo nome da procedure e os parâmetros. Os parâmetros podem ser passados pela ordem de declaração na procedure ou nomeando-os explicitamente com a sintaxe @Parametro = 'Valor'
. A ordem dos parâmetros nomeados não é relevante, mas não se deve usar 'and' para separá-los.