Usando parâmetros de declaração

Aplica-se a: SQL ServerBase de Dados SQL do AzureAzure SQL Managed InstanceAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)

Um parâmetro é uma variável numa instrução SQL que pode permitir que uma aplicação ODBC a:

  • Forneça eficientemente os valores das colunas numa tabela.

  • Melhorar a interação do utilizador na construção dos critérios de consulta.

  • Gerir texto, ntext, dados de imagem e tipos de dados C específicos do SQL Server.

Por exemplo, uma tabela de Peças tem colunas chamadas PartID,Descrição e Preço. Para adicionar uma parte sem parâmetros é necessário construir uma instrução SQL como:

INSERT INTO Parts (PartID, Description, Price) VALUES (2100, 'Drive shaft', 50.00)  

Embora esta afirmação seja aceitável para inserir uma linha com um conjunto conhecido de valores, é desconfortável quando uma aplicação é obrigada a inserir várias linhas. O ODBC resolve isto permitindo que uma aplicação substitua qualquer valor de dado numa instrução SQL por um marcador de parâmetro. Isto é indicado por um ponto de interrogação (?). No exemplo seguinte, três valores de dados são substituídos por marcadores de parâmetro:

INSERT INTO Parts (PartID, Description, Price) VALUES (?, ?, ?)  

Os marcadores de parâmetros são então ligados a variáveis de aplicação. Para inserir uma nova linha, a aplicação só tem de definir os valores das variáveis e executar a instrução. O driver recupera então os valores atuais das variáveis e envia-os para a fonte de dados. Se a instrução for executada várias vezes, a aplicação pode tornar o processo ainda mais eficiente ao preparar a declaração.

Cada marcador de parâmetro é referenciado pelo seu número ordinal atribuído aos parâmetros da esquerda para a direita. O marcador de parâmetro mais à esquerda numa instrução SQL tem um valor ordinal de 1; O próximo é o Ordinal 2, e assim sucessivamente.

Na presente seção