Partilhar via


Consultas de parâmetros (Visual Database Tools)

Aplica-se a:SQL Server

Em alguns casos, você deseja criar uma consulta que pode ser usada muitas vezes, mas com um valor diferente a cada vez. Por exemplo, você pode executar frequentemente uma consulta para encontrar todos os title_ids escritos por um autor. Você poderia executar a mesma consulta para cada solicitação, exceto que o ID ou nome do autor seria diferente a cada vez.

Para criar uma consulta que pode ter valores diferentes em momentos diferentes, use parâmetros na consulta. Um parâmetro é um espaço reservado para um valor que é fornecido quando a consulta é executada. Uma instrução SQL com um parâmetro pode ser semelhante à seguinte, onde "?" representa o parâmetro para a ID do autor:

SELECT title_id
FROM titleauthor
WHERE (au_id = ?)

Quando usar parâmetros

Você pode usar parâmetros como espaços reservados para valores literais - para valores numéricos ou de texto. Mais comumente, parâmetros são usados como espaços reservados em condições de pesquisa para linhas individuais ou para grupos (isto é, nas cláusulas WHERE ou HAVING de uma instrução SQL).

Você pode usar parâmetros como espaços reservados em expressões. Por exemplo, talvez você queira calcular preços com desconto fornecendo um valor de desconto diferente cada vez que executar uma consulta. Para fazer isso, você pode especificar a seguinte expressão:

(price * ?)

Especificar parâmetros anónimos e nomeados

Você pode especificar dois tipos de parâmetros: sem nome e nomeado. Um parâmetro sem nome é um ponto de interrogação (?) que você coloca em qualquer lugar da consulta que deseja solicitar ou substituir um valor literal. Por exemplo, se você usar um parâmetro sem nome para procurar a id de um autor na tabela titleauthor, a instrução resultante no do Painel SQL poderá ter esta aparência:

SELECT title_id
FROM titleauthor
WHERE (au_id = ?)

Quando você executa a consulta nas Ferramentas de Designer de Consulta e Exibição, a caixa de diálogo Parâmetros de Consulta aparece com "?" como o nome do parâmetro.

Como alternativa, você pode atribuir um nome a um parâmetro. Os parâmetros nomeados são particularmente úteis se você tiver vários parâmetros em uma consulta. Por exemplo, se você usar parâmetros nomeados para pesquisar nomes e sobrenomes de um autor na tabela authors, a instrução resultante no painel SQL poderá ter esta aparência:

SELECT au_id
FROM authors
WHERE au_fname = %first name% AND
      au_lname = %last name%

Dica

Você deve definir caracteres de prefixo e sufixo antes de criar uma consulta de parâmetro nomeado.

Quando você executa a consulta no Designer de Consulta e Exibição, a caixa de diálogo Parâmetros de Consulta aparece com uma lista de parâmetros nomeados.